a15b77f6a6
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 50s
CI / helm (pull_request) Successful in 55s
CI / build (pull_request) Successful in 1m34s
CI / lint (pull_request) Successful in 1m55s
CI / typecheck (pull_request) Successful in 2m33s
CI / quality (pull_request) Successful in 2m35s
CI / benchmark-regression (pull_request) Failing after 2m38s
CI / security (pull_request) Successful in 2m50s
CI / integration_tests (pull_request) Successful in 5m21s
CI / e2e_tests (pull_request) Successful in 5m29s
CI / unit_tests (pull_request) Successful in 7m30s
CI / docker (pull_request) Successful in 1m33s
CI / coverage (pull_request) Successful in 11m41s
CI / docker (push) Blocked by required conditions
CI / status-check (push) Blocked by required conditions
CI / coverage (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / benchmark-regression (push) Waiting to run
CI / unit_tests (push) Has started running
CI / integration_tests (push) Has started running
CI / e2e_tests (push) Has started running
CI / status-check (pull_request) Successful in 4s
CI / build (push) Successful in 1m2s
CI / lint (push) Successful in 1m10s
CI / push-validation (push) Successful in 33s
CI / helm (push) Successful in 44s
CI / quality (push) Successful in 1m30s
CI / security (push) Successful in 1m39s
CI / typecheck (push) Successful in 1m42s
Fixes issue #10972 where _path_matches() used PurePath.full_match()/match() which requires the entire path to match. Since fragment metadata stores absolute paths (e.g. /app/.opencode/skills/SKILL.md) while project context --exclude-path/--include-path settings produce relative globs (.opencode/*, docs/*), include/exclude filters were silently ineffective. Added _matches_any() static helper in execute_phase_context_assembler.py that: - Tries full_match(pattern) as-is for relative paths and anchored patterns - Auto-prefixes relative patterns with **/ so they match absolute paths Updated _matches_pattern() in context_phase_analysis.py with same logic plus zero-depth compatibility shim. Added 7 new BDD regression scenarios with @tdd_issue tags: - 5 in execute_phase_context_assembler_coverage.feature (absolute path matching) - 1 extra trailing ** glob exclusion test - 1 in project_context_phase_analysis.feature (phase analysis exclusion) ISSUES CLOSED: #10972
39 lines
1.9 KiB
Gherkin
39 lines
1.9 KiB
Gherkin
Feature: Project context phase analysis summaries
|
|
As a developer
|
|
I want per-phase ACMS context analysis summaries
|
|
So that strategize/execute/apply scope narrowing is visible and actionable
|
|
|
|
Scenario: Empty context still produces per-phase summaries
|
|
Given a phase analysis policy with narrowing limits
|
|
And no tiered fragments for phase analysis
|
|
When I compute project context phase analysis with budget 2000
|
|
Then each phase summary should include resource and size metrics
|
|
And phase analysis should report monotonic narrowing
|
|
|
|
Scenario: Single resource context produces human-readable summaries
|
|
Given a phase analysis policy with narrowing limits
|
|
And a single resource fragment for phase analysis
|
|
When I compute project context phase analysis with budget 2000
|
|
Then each phase summary should include human-readable text
|
|
And strategize phase should include at least one fragment
|
|
|
|
Scenario: Multiple resources are counted in summaries
|
|
Given a phase analysis policy with narrowing limits
|
|
And multiple resource fragments for phase analysis
|
|
When I compute project context phase analysis with budget 2000
|
|
Then strategize phase resource count should be 2
|
|
|
|
Scenario: Budget constraints reduce execute and apply scope
|
|
Given a phase analysis policy with narrowing limits
|
|
And budget constrained fragments for phase analysis
|
|
When I compute project context phase analysis with budget 1000
|
|
Then execute phase should have fewer tokens than strategize phase
|
|
And apply phase should have fewer or equal tokens than execute phase
|
|
|
|
@tdd_issue @tdd_issue_10972
|
|
Scenario: Absolute path fragments are correctly excluded by relative exclude globs
|
|
Given a phase analysis policy with opencode exclude paths
|
|
And an absolute path fragment for phase analysis
|
|
When I compute project context phase analysis with budget 2000
|
|
Then strategize phase should exclude the absolute path fragment
|