docs(cf12): plan deterministic impact analysis - #25
Conversation
|
Warning Review limit reachedNext included review available in 1 minute. View limit detailsLimit details: You’ve used all 10 included reviews currently available. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
Comment |
|
ⓘ Your Qodo trial ends soon. Ask your workspace admin to set up billing to keep reviews running after the trial. Manage billing |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
PR Summary by QodoPlan deterministic CF-12 impact analysis
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
1. Required seeds may be unsupported
|
| - removed; | ||
| - modified with non-empty structural delta. | ||
|
|
||
| If existing diff evidence cannot establish the required canonical artifact identity, fail closed or retain an explicitly unsupported seed state rather than guessing from filenames. The implementation task must choose one stable behavior and test it before CLI shipping. |
There was a problem hiding this comment.
1. Required seeds may be unsupported 🐞 Bug ≡ Correctness
The plan allows implementations to emit an unsupported seed when existing diff evidence lacks canonical identity, but the normative spec requires added, removed, and modified canonical artifacts to become seeds and has acceptance cases for both additions and removals. This escape hatch is reachable because current added/removed structural-diff records contain filenames but no artifact digest, so a conforming implementation could fail valid required cases instead of constructing the exact graph identity.
Agent Prompt
## Issue description
The plan permits an unsupported seed result for valid added or removed canonical artifacts, contradicting the normative seed and acceptance requirements.
## Issue Context
The existing structural-diff report does not carry artifact digests on added/removed records. Define how the CF-12 adapter joins each side's diff record to the verified artifact inventory or Context Graph identity, including deterministic handling of non-unique matches.
## Fix Focus Areas
- specs/013-cf-12-impact/plan.md[64-76]
- specs/013-cf-12-impact/tasks.md[38-40]
- specs/013-cf-12-impact/spec.md[51-61]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| For artifacts that are seeds or become impacted, inspect their outgoing CF-11G reference edges. | ||
|
|
||
| Retain `external` and `ambiguous` states in a deterministic unresolved-boundary collection. Never insert them into resolved traversal. |
There was a problem hiding this comment.
2. Unresolved reverse paths disappear 🐞 Bug ≡ Correctness
The collection algorithm inspects unresolved outgoing edges only after an artifact is already a seed or resolved-reachable impact, so it omits an otherwise unimpacted source whose ambiguous candidates include the changed seed. That contradicts the specification's requirement to retain an unresolved edge that blocks a possible path and leaves the ambiguous-boundary acceptance result dependent on unrelated resolved reachability.
Agent Prompt
## Issue description
The planned boundary pass cannot discover unresolved incoming references from sources that were not reached through resolved traversal.
## Issue Context
Specify a deterministic reverse boundary rule, such as indexing ambiguous candidates and external target keys against each seed/reached node while retaining those entries as non-traversable evidence. Explicitly define which unresolved edges count as blocking a possible path.
## Fix Focus Areas
- specs/013-cf-12-impact/plan.md[104-110]
- specs/013-cf-12-impact/spec.md[105-113]
- specs/013-cf-12-impact/tasks.md[55-57]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| Add `Impact` to the existing `Command` enum using current CLI conventions: | ||
|
|
||
| - positional package identity string; | ||
| - explicit `--before-lock`, `--before-cache`, `--after-lock`, `--after-cache`; |
There was a problem hiding this comment.
3. Exact subject version undefined 🐞 Bug ≡ Correctness
The frozen CLI accepts only an unspecified package string even though schema-v2 permits multiple concrete versions of that name and CF-12 requires exact version-aware subject traversal. Following the cited existing CLI convention selects by name and rejects duplicate same-name entries, so the documented interface cannot analyze a multi-version lock when the changed subject itself has multiple versions.
Agent Prompt
## Issue description
The CLI contract does not define how the positional subject identifies one concrete package version in each side's multi-version closure.
## Issue Context
Freeze a version-qualified grammar and deterministic before/after matching behavior, or explicitly restrict subject names to one matching package per side and narrow the multi-version requirement accordingly.
## Fix Focus Areas
- specs/013-cf-12-impact/plan.md[120-129]
- specs/013-cf-12-impact/spec.md[21-30]
- specs/013-cf-12-impact/spec.md[93-103]
- specs/013-cf-12-impact/tasks.md[14-17]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Summary
Create the Spec Kit planning package for CF-12
commandf impactnow that CF-11G is canonically closed.Scope
Planning only:
specs/013-cf-12-impact/spec.md;plan.md;tasks.md;consistency.md;resolved/external/ambiguoussemantics fail-closed;Canonical base
Explicit non-goals
Keep Draft until exact-head planning CI and independent review are inspected. T004 must close before Stack A implementation begins.