codecartographer-pi 0.16.0 → 0.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codecarto/GUIDE.md +16 -3
- package/.codecarto/README.md +3 -0
- package/.codecarto/broadside/SKILL.md +143 -0
- package/.codecarto/broadside/config.yaml +104 -0
- package/.codecarto/findings/architecture/SKILL.md +1 -0
- package/.codecarto/findings/broadside-scout/README.md +20 -0
- package/.codecarto/findings/broadside-scout/SKILL.md +101 -0
- package/.codecarto/findings/contracts/SKILL.md +1 -0
- package/.codecarto/findings/defect-scan/SKILL.md +15 -1
- package/.codecarto/findings/defect-scan/passes/01-logic-and-correctness.md +1 -1
- package/.codecarto/findings/defect-scan/passes/02-error-handling.md +1 -1
- package/.codecarto/findings/defect-scan/passes/03-concurrency-and-resources.md +1 -1
- package/.codecarto/findings/defect-scan/passes/04-security-and-trust.md +1 -1
- package/.codecarto/findings/defect-scan/passes/05-api-contract-violations.md +2 -1
- package/.codecarto/findings/defect-scan/passes/06-config-and-environment.md +1 -1
- package/.codecarto/findings/defect-scan-mechanical/SKILL.md +3 -2
- package/.codecarto/findings/defect-scan-semantic/SKILL.md +2 -0
- package/.codecarto/findings/porting/SKILL.md +2 -1
- package/.codecarto/findings/protocols/SKILL.md +1 -0
- package/.codecarto/findings/reimplementation-spec/SKILL.md +1 -1
- package/.codecarto/skills/spec-delta-application/SKILL.md +3 -1
- package/.codecarto/templates/architecture-map.md +1 -1
- package/.codecarto/templates/backlog-project.md +51 -0
- package/.codecarto/templates/broadside-scout-brief.md +97 -0
- package/.codecarto/templates/defect-report.md +23 -0
- package/.codecarto/templates/mechanical-defects.md +22 -0
- package/.codecarto/templates/reverse-engineering-bundle.md +2 -2
- package/.codecarto/templates/semantic-defects.md +26 -0
- package/.codecarto/{THREAD_LOG.md → templates/thread-log.md} +2 -5
- package/.codecarto/workflow/VALIDATE.md +1 -1
- package/.codecarto/workflow/pipeline-defect-scan.yaml +2 -0
- package/.codecarto/workflow/pipeline-full-with-audit.yaml +3 -1
- package/.codecarto/workflow/pipeline-full-with-deep-audit.yaml +5 -1
- package/.codecarto/workflow/pipeline-scout-first.yaml +275 -0
- package/.codecarto/workflow/scaffold-version.yaml +1 -1
- package/README.md +51 -6
- package/agent-skill/codecartographer/SKILL.md +3 -1
- package/agent-skill/codecartographer/references/broadside.md +115 -0
- package/agent-skill/codecartographer/references/deep-audit-synthesis.md +4 -1
- package/agent-skill/codecartographer/references/library.md +2 -2
- package/agent-skill/codecartographer/references/orchestration.md +1 -1
- package/agent-skill/codecartographer/references/pipeline-selection.md +14 -0
- package/dist/core/amendment.js +2 -2
- package/dist/core/broadside.d.ts +421 -0
- package/dist/core/broadside.js +2349 -0
- package/dist/core/completion.d.ts +5 -0
- package/dist/core/completion.js +38 -6
- package/dist/core/dashboard.js +5 -3
- package/dist/core/findings.d.ts +59 -0
- package/dist/core/findings.js +145 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +2 -0
- package/dist/core/library.d.ts +88 -1
- package/dist/core/library.js +260 -7
- package/dist/core/orchestrator-config.js +5 -2
- package/dist/core/pipeline.js +16 -0
- package/dist/core/prompts.js +1 -1
- package/dist/core/status.js +23 -7
- package/dist/core/types.d.ts +6 -0
- package/dist/core/utils.d.ts +14 -0
- package/dist/core/utils.js +37 -1
- package/dist/core/workspace.d.ts +17 -0
- package/dist/core/workspace.js +79 -20
- package/dist/core/yaml.js +19 -4
- package/dist/extensions/codecarto/agent-runner.js +6 -0
- package/dist/extensions/codecarto/auto-runner.d.ts +2 -0
- package/dist/extensions/codecarto/broadside-flags.d.ts +26 -0
- package/dist/extensions/codecarto/broadside-flags.js +129 -0
- package/dist/extensions/codecarto/dashboard-narrator.js +1 -1
- package/dist/extensions/codecarto/index.js +270 -18
- package/dist/extensions/codecarto/phase-compaction.js +4 -0
- package/dist/mcp-server/server.d.ts +22 -0
- package/dist/mcp-server/server.js +282 -17
- package/package.json +11 -2
- package/.codecarto/BACKLOG.md +0 -184
- package/.codecarto/CHANGELOG-2026-05-02-feedback-pass.md +0 -118
- package/.codecarto/closeouts/2026-05-02-framework-feedback-pass.md +0 -111
|
@@ -77,6 +77,7 @@ Produce four outputs:
|
|
|
77
77
|
Mark every finding with one of these evidence levels:
|
|
78
78
|
- `observed fact`: direct statement from docs, tests, schemas, types, or code.
|
|
79
79
|
- `strong inference`: protocol conclusion drawn from multiple facts.
|
|
80
|
+
- `external-behavior claim`: a claim about what the peer or a system outside this source tree does with a message (how it parses, what it ignores, version-dependent behavior); unverifiable by reading this code, so it stays unsettled until a runtime capture or that system's own source confirms it.
|
|
80
81
|
- `portability hazard`: assumption tied to the source language, runtime, terminal, OS, or third-party SDKs.
|
|
81
82
|
- `open question`: missing or conflicting behavior that still needs evidence.
|
|
82
83
|
|
|
@@ -69,7 +69,7 @@ End with a spike list:
|
|
|
69
69
|
- risky performance assumptions
|
|
70
70
|
- platform-sensitive areas that need targeted tests
|
|
71
71
|
|
|
72
|
-
For every defect in the bundle, preserve its disposition (`fix before porting`, `port differently`,
|
|
72
|
+
For every defect in the bundle, preserve its disposition (`fix before porting`, `port differently`, `leave behind`, or `verify at runtime`) and convert it into an explicit design consequence or acceptance check — except `verify at runtime`, which becomes a Spike List entry and a `post_pipeline` entry of `kind: spike` in your handoff, never a design consequence: the diagnosis has not been confirmed, and designing around it would build the unverified claim into the new system.
|
|
73
73
|
|
|
74
74
|
Use the output template at `templates/reimplementation-spec.md`.
|
|
75
75
|
|
|
@@ -26,11 +26,13 @@ Triage every delta into one of four buckets:
|
|
|
26
26
|
|---|---|---|
|
|
27
27
|
| **APPLY** | Delta is a real correction or required addition; the spec is wrong without it. | Edit the spec body. Add a `[revised per <source> §<delta-id>]` marker at the changed section. Record in DELTAS-APPLIED.md. |
|
|
28
28
|
| **CLARIFY** | Delta proposes wording change; the spec's *meaning* is correct but the language is ambiguous. | Edit the spec wording (not the rule). Record in DELTAS-APPLIED.md as a clarification. |
|
|
29
|
-
| **DEFER** | Delta is a real improvement but not load-bearing for the next implementation step. | Add to BACKLOG.md with rationale and a back-reference. Do NOT edit the spec. |
|
|
29
|
+
| **DEFER** | Delta is a real improvement but not load-bearing for the next implementation step. | Add to `BACKLOG.md` with rationale and a back-reference (`templates/backlog-project.md` gives the entry shape). Do NOT edit the spec. |
|
|
30
30
|
| **REJECT** | Delta is wrong on close reading (premise was incorrect, scope was misread, the rule it proposes already exists, etc.). | Document in DELTAS-APPLIED.md with a one-line rationale. Do NOT edit the spec. |
|
|
31
31
|
|
|
32
32
|
The previous wisdom: any delta you can't decisively bucket should default to DEFER. The cost of a missed correction is one re-application pass; the cost of a bad correction is shipped.
|
|
33
33
|
|
|
34
|
+
**DEFER goes to `BACKLOG.md`, not `DECISIONS.md`, and gets no `D` number.** `DECISIONS.md` is for what the project decided to *do*; `BACKLOG.md` is for what it decided to *defer*. A refinement you make while applying a delta — the applied text going beyond the literal proposal — is a decision: record it in the audit file's Decisions Beyond Triage section, and lift it into `DECISIONS.md` only if it is cross-cutting. An existing `D` entry for a proposed delta has its disposition updated in place (`APPLIED 2026-05-03 round-3`); it is never superseded by a new entry when applied.
|
|
35
|
+
|
|
34
36
|
## Citation convention
|
|
35
37
|
|
|
36
38
|
Every applied or clarified delta leaves a citation marker in the spec body so a future reader can trace the change back to its source.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<!--
|
|
4
4
|
Output template for the architecture phase.
|
|
5
5
|
Fill in each section. Remove placeholder text. Keep the section headers.
|
|
6
|
-
Mark every conclusion as: fact / strong inference / open question.
|
|
6
|
+
Mark every conclusion as: fact / strong inference / external-behavior claim / open question.
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
## System Intent
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Backlog
|
|
2
|
+
|
|
3
|
+
Project-level deferrals: work this project decided **not** to do yet, with the reasoning
|
|
4
|
+
that made deferring the right call. One entry per deferral.
|
|
5
|
+
|
|
6
|
+
This is the project's backlog, not CodeCartographer's. Items about the framework itself —
|
|
7
|
+
a phase prompt that misled you, a validation criterion that does not fit — belong in
|
|
8
|
+
feedback to the framework, not here.
|
|
9
|
+
|
|
10
|
+
**BACKLOG vs DECISIONS.** `DECISIONS.md` records what the project decided to **do**;
|
|
11
|
+
this file records what it decided to **defer**. Deferrals get no `D` number. If a deferred
|
|
12
|
+
item is later picked up, remove its entry here and record the decision in `DECISIONS.md`.
|
|
13
|
+
|
|
14
|
+
## Format
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
## <ID>. <Short title>
|
|
18
|
+
|
|
19
|
+
**Raised by:** <closeout file, phase, or DECISIONS.md entry that produced this deferral>
|
|
20
|
+
|
|
21
|
+
**Why deferred:** <the reasoning — what made this not worth doing now, not just "later">
|
|
22
|
+
|
|
23
|
+
**Preconditions:** <what has to land before this can be revisited: a module, an artifact,
|
|
24
|
+
a decision, an answer to an open question. "None" is a valid answer, but say so.>
|
|
25
|
+
|
|
26
|
+
**Smallest viable form:** <the least you could build that would settle the item, so whoever
|
|
27
|
+
picks it up does not have to redesign it from scratch>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Entries
|
|
31
|
+
|
|
32
|
+
<!--
|
|
33
|
+
Append entries below this marker. Number them however the project prefers (B1, B2, … is
|
|
34
|
+
the convention the framework's own backlog uses).
|
|
35
|
+
|
|
36
|
+
Example:
|
|
37
|
+
|
|
38
|
+
## B1. Retry policy for the upload path
|
|
39
|
+
|
|
40
|
+
**Raised by:** closeouts/2026-03-14-contracts.md
|
|
41
|
+
|
|
42
|
+
**Why deferred:** The contracts phase found no documented retry behavior, but nothing
|
|
43
|
+
downstream depends on knowing it — the porting phase can treat uploads as at-most-once
|
|
44
|
+
and flag the gap.
|
|
45
|
+
|
|
46
|
+
**Preconditions:** A protocols-phase answer on whether the server deduplicates by
|
|
47
|
+
request id. Without that, any retry policy written here is a guess.
|
|
48
|
+
|
|
49
|
+
**Smallest viable form:** One paragraph in the contracts report stating the observed
|
|
50
|
+
behavior and the assumption downstream phases should hold.
|
|
51
|
+
-->
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Broad-Side Scout Brief — [project_name]
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
Output template for the `broadside-scout` phase.
|
|
5
|
+
Distills a Broad-Side batch reconnaissance run into leads routed to later
|
|
6
|
+
phases. See findings/broadside-scout/SKILL.md for instructions.
|
|
7
|
+
|
|
8
|
+
Every entry here is an UNVERIFIED lead from a cheap batch model, not a
|
|
9
|
+
finding. No later phase may cite this file as a source.
|
|
10
|
+
-->
|
|
11
|
+
|
|
12
|
+
## Scout Context
|
|
13
|
+
|
|
14
|
+
- **Run:** `broadside/[run-id]/` (or: no completed run — see Scout Coverage)
|
|
15
|
+
- **Model:** [batch model id]
|
|
16
|
+
- **Lenses that ran:** [list]
|
|
17
|
+
- **Recorded cost:** [from run-meta.json]
|
|
18
|
+
- **Pipeline:** [pipeline variant name]
|
|
19
|
+
- **Date:** [date]
|
|
20
|
+
|
|
21
|
+
> These are unverified scouting leads. Each one is a place to look, not a
|
|
22
|
+
> fact. The receiving phase confirms it against the source and cites the
|
|
23
|
+
> source — never this brief.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Leads by Phase
|
|
28
|
+
|
|
29
|
+
<!--
|
|
30
|
+
One row per lead. Target must be a phase in the active pipeline.
|
|
31
|
+
Source pointer is the file:line (or module) the receiving phase starts from.
|
|
32
|
+
Confidence is the scout's, not yours: high / medium / low.
|
|
33
|
+
Drop anything the target phase would find in its own first pass.
|
|
34
|
+
-->
|
|
35
|
+
|
|
36
|
+
| # | Target phase | Lead | Source pointer | Lens | Scout confidence |
|
|
37
|
+
|---|--------------|------|----------------|------|------------------|
|
|
38
|
+
| 1 | | | | | |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Convention Candidates
|
|
43
|
+
|
|
44
|
+
<!--
|
|
45
|
+
From the conventions lens. These route to the orchestrator's CONVENTIONS.md
|
|
46
|
+
promotion review, not to a phase. Candidates only — promotion still requires
|
|
47
|
+
the orchestrator's review against the code.
|
|
48
|
+
-->
|
|
49
|
+
|
|
50
|
+
| # | Candidate convention | Where the scout saw it |
|
|
51
|
+
|---|----------------------|------------------------|
|
|
52
|
+
| 1 | | |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Leads Dropped
|
|
57
|
+
|
|
58
|
+
<!--
|
|
59
|
+
What you chose not to forward, and why. This is the record that keeps the
|
|
60
|
+
brief short without hiding the discard.
|
|
61
|
+
-->
|
|
62
|
+
|
|
63
|
+
| # | Lead | Why dropped |
|
|
64
|
+
|---|------|-------------|
|
|
65
|
+
| 1 | | |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Coverage and limits
|
|
70
|
+
|
|
71
|
+
<!--
|
|
72
|
+
What the scout scanned, what it did not, and what came back unusable. A
|
|
73
|
+
later phase must be able to tell "the scout found nothing there" from "the
|
|
74
|
+
scout never looked there." Sourced from broadside/<run>/run-meta.json.
|
|
75
|
+
-->
|
|
76
|
+
|
|
77
|
+
- Inspected scope: [modules scanned, or "whole repository in one slice"]
|
|
78
|
+
- Skipped scope: [modules the lens globs, slicing cap, or incremental diff excluded; lenses skipped, with reason]
|
|
79
|
+
- Evidence basis: batch-model scouting signals only — no source inspection, no tests, no runtime verification
|
|
80
|
+
- Known blind spots: [truncated slices and the modules they covered; everything under Skipped scope is unscouted, not clean]
|
|
81
|
+
- Coverage disposition: COMPLETE | PARTIAL | NONE (no completed Broad-Side run)
|
|
82
|
+
|
|
83
|
+
## Validation
|
|
84
|
+
|
|
85
|
+
<!-- Fill in this table per workflow/VALIDATE.md. The rows below match the broadside-scout scope. -->
|
|
86
|
+
|
|
87
|
+
| # | Criterion | Result | Evidence |
|
|
88
|
+
|---|-----------|--------|----------|
|
|
89
|
+
| 1 | Every forwarded lead names a target phase in this pipeline and a source pointer the target phase can start from. | PASS / PARTIAL / FAIL | |
|
|
90
|
+
| 2 | Every lead is marked as an unverified scouting signal; none is stated as a fact or cited as evidence. | PASS / PARTIAL / FAIL | |
|
|
91
|
+
| 3 | Leads dropped rather than forwarded are recorded with a reason. | PASS / PARTIAL / FAIL | |
|
|
92
|
+
| 4 | Convention candidates are routed to the orchestrator's CONVENTIONS.md review, not to a phase. | PASS / PARTIAL / FAIL | |
|
|
93
|
+
| 5 | When no completed Broad-Side run exists, the brief says so explicitly and forwards no leads. | PASS / PARTIAL / FAIL | |
|
|
94
|
+
| 6 | Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots. | PASS / PARTIAL / FAIL | |
|
|
95
|
+
|
|
96
|
+
**Validated by:** [session identifier or date]
|
|
97
|
+
**Overall:** PASS / PASS WITH GAPS / FAIL
|
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
<!-- For each finding: location, defect, evidence, severity, evidence level, action. -->
|
|
17
17
|
<!-- Sort by severity: critical → high → medium → low. -->
|
|
18
18
|
<!-- If no findings, write "No defects found in this category." -->
|
|
19
|
+
<!-- Evidence Level: observed fact / strong inference / external-behavior claim / open question.
|
|
20
|
+
Action — pre-porting pipelines: fix before porting / port differently / leave behind / verify at runtime;
|
|
21
|
+
maintenance pipelines: fix now / track / accept / investigate.
|
|
22
|
+
Pairing rule (validated mechanically): open question or external-behavior claim ⇒ verify at
|
|
23
|
+
runtime or port differently (pre-porting) / investigate (maintenance), never fix before porting
|
|
24
|
+
or fix now; and list the finding in ## Open Questions below. -->
|
|
19
25
|
|
|
20
26
|
| # | Location | Defect | Severity | Evidence Level | Action |
|
|
21
27
|
|---|----------|--------|----------|----------------|--------|
|
|
@@ -99,6 +105,21 @@
|
|
|
99
105
|
|
|
100
106
|
---
|
|
101
107
|
|
|
108
|
+
## Open Questions
|
|
109
|
+
|
|
110
|
+
<!-- Every finding whose Evidence Level is open question or external-behavior claim gets a row
|
|
111
|
+
here, so the hedge travels with the finding into this document — not only into the handoff.
|
|
112
|
+
Mirror each row into your phase handoff's open_questions (kind: needs-runtime-test unless a
|
|
113
|
+
maintainer decision or spec ruling is what is missing). Derived findings lists the finding
|
|
114
|
+
numbers (e.g. "5.2, 4.1") that depend on this question; none of them may carry a settled
|
|
115
|
+
action while the question stands. -->
|
|
116
|
+
|
|
117
|
+
| ID | Kind | Question | Why source cannot settle it | Derived findings |
|
|
118
|
+
|----|------|----------|-----------------------------|------------------|
|
|
119
|
+
| | | | | |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
102
123
|
## Coverage and limits
|
|
103
124
|
|
|
104
125
|
- Inspected scope:
|
|
@@ -120,6 +141,8 @@
|
|
|
120
141
|
| 4 | Summary tables are complete and counts match the detailed findings. | PASS / PARTIAL / FAIL | |
|
|
121
142
|
| 5 | Findings are marked with evidence levels. | PASS / PARTIAL / FAIL | |
|
|
122
143
|
| 6 | Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots. | PASS / PARTIAL / FAIL | |
|
|
144
|
+
| 7 | Unsettled findings (evidence level open question or external-behavior claim) carry an unsettled action (verify at runtime or port differently on pre-porting pipelines; investigate on maintenance pipelines), never a settled one, and each appears in the Open Questions table. | PASS / PARTIAL / FAIL | |
|
|
145
|
+
| 8 | Every quantitative specific in a finding (size, count, default, version, timeout) cites the file and line or command output it was read from, or is marked as an estimate. | PASS / PARTIAL / FAIL | |
|
|
123
146
|
|
|
124
147
|
**Validated by:** [session identifier or date]
|
|
125
148
|
**Overall:** PASS / PASS WITH GAPS / FAIL
|
|
@@ -22,6 +22,11 @@
|
|
|
22
22
|
<!-- For each finding: location, defect, evidence, severity, evidence level, action. -->
|
|
23
23
|
<!-- Sort by severity: critical → high → medium → low. -->
|
|
24
24
|
<!-- If no findings, write "No defects found in this category." -->
|
|
25
|
+
<!-- Evidence Level: observed fact / strong inference / external-behavior claim / open question.
|
|
26
|
+
Action: fix before porting / port differently / leave behind / verify at runtime.
|
|
27
|
+
Pairing rule (validated mechanically): open question or external-behavior claim ⇒
|
|
28
|
+
verify at runtime or port differently, never fix before porting; and list the finding
|
|
29
|
+
in ## Open Questions below. -->
|
|
25
30
|
|
|
26
31
|
| # | Location | Defect | Severity | Evidence Level | Action |
|
|
27
32
|
|---|----------|--------|----------|----------------|--------|
|
|
@@ -90,6 +95,21 @@
|
|
|
90
95
|
|
|
91
96
|
---
|
|
92
97
|
|
|
98
|
+
## Open Questions
|
|
99
|
+
|
|
100
|
+
<!-- Every finding whose Evidence Level is open question or external-behavior claim gets a row
|
|
101
|
+
here, so the hedge travels with the finding into this document — not only into the handoff.
|
|
102
|
+
Mirror each row into your phase handoff's open_questions (kind: needs-runtime-test unless a
|
|
103
|
+
maintainer decision or spec ruling is what is missing). Derived findings lists the finding
|
|
104
|
+
numbers (e.g. "1.3, 6.1") that depend on this question; none of them may carry a settled
|
|
105
|
+
action while the question stands. -->
|
|
106
|
+
|
|
107
|
+
| ID | Kind | Question | Why source cannot settle it | Derived findings |
|
|
108
|
+
|----|------|----------|-----------------------------|------------------|
|
|
109
|
+
| | | | | |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
93
113
|
## Coverage and limits
|
|
94
114
|
|
|
95
115
|
- Inspected scope:
|
|
@@ -110,6 +130,8 @@
|
|
|
110
130
|
| 4 | Summary tables are complete and counts match the detailed findings. | PASS / PARTIAL / FAIL | |
|
|
111
131
|
| 5 | Findings are marked with evidence levels. | PASS / PARTIAL / FAIL | |
|
|
112
132
|
| 6 | Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots. | PASS / PARTIAL / FAIL | |
|
|
133
|
+
| 7 | Unsettled findings (evidence level open question or external-behavior claim) carry an unsettled action (verify at runtime or port differently on pre-porting pipelines; investigate on maintenance pipelines), never a settled one, and each appears in the Open Questions table. | PASS / PARTIAL / FAIL | |
|
|
134
|
+
| 8 | Every quantitative specific in a finding (size, count, default, version, timeout) cites the file and line or command output it was read from, or is marked as an estimate. | PASS / PARTIAL / FAIL | |
|
|
113
135
|
|
|
114
136
|
**Validated by:** [session identifier or date]
|
|
115
137
|
**Overall:** PASS / PASS WITH GAPS / FAIL
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
|
|
87
87
|
| Defect ID | Source Report | One-line Description | Severity | Disposition | Required design consequence |
|
|
88
88
|
|-----------|---------------|----------------------|----------|-------------|-----------------------------|
|
|
89
|
-
| | | | | fix before porting / port differently / leave behind | |
|
|
89
|
+
| | | | | fix before porting / port differently / leave behind / verify at runtime | |
|
|
90
90
|
|
|
91
91
|
## Observed Facts vs. Inferred Structure
|
|
92
92
|
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
| 1 | The system summary, layer map, contract table, protocol notes, and porting findings are synthesized. | PASS / PARTIAL / FAIL | |
|
|
160
160
|
| 2 | Portability hazards and open questions are separated from facts. | PASS / PARTIAL / FAIL | |
|
|
161
161
|
| 3 | Feature importance is sorted for porting. | PASS / PARTIAL / FAIL | |
|
|
162
|
-
| 4 | Known defects are referenced in the Defect Synthesis with porting recommendations (fix before porting / port differently / leave behind), or the section explicitly notes that no defect scan ran. | PASS / PARTIAL / FAIL | |
|
|
162
|
+
| 4 | Known defects are referenced in the Defect Synthesis with porting recommendations (fix before porting / port differently / leave behind / verify at runtime), or the section explicitly notes that no defect scan ran. | PASS / PARTIAL / FAIL | |
|
|
163
163
|
| 5 | Findings are marked with evidence levels. | PASS / PARTIAL / FAIL | |
|
|
164
164
|
| 6 | Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots. | PASS / PARTIAL / FAIL | |
|
|
165
165
|
| 7 | The Source Index makes the bundle a self-contained compression boundary and identifies targeted deep-read triggers. | PASS / PARTIAL / FAIL | |
|
|
@@ -25,6 +25,12 @@
|
|
|
25
25
|
<!-- For each finding: location, defect, evidence, severity, evidence level, action. -->
|
|
26
26
|
<!-- Cite the protocol or state-machine entry that the finding violates, when relevant. -->
|
|
27
27
|
<!-- If no findings, write "No defects found in this category." -->
|
|
28
|
+
<!-- Evidence Level: observed fact / strong inference / external-behavior claim / open question.
|
|
29
|
+
Action: fix before porting / port differently / leave behind / verify at runtime.
|
|
30
|
+
Pairing rule (validated mechanically): open question or external-behavior claim ⇒
|
|
31
|
+
verify at runtime or port differently, never fix before porting; and list the finding
|
|
32
|
+
in ## Open Questions below. A finding that closes a routed carry-forward derived from a
|
|
33
|
+
still-open needs-runtime-test question inherits that uncertainty. -->
|
|
28
34
|
|
|
29
35
|
| # | Location | Defect | Severity | Evidence Level | Action |
|
|
30
36
|
|---|----------|--------|----------|----------------|--------|
|
|
@@ -45,6 +51,9 @@
|
|
|
45
51
|
## Pass 5: API Contract Violations
|
|
46
52
|
|
|
47
53
|
<!-- Each finding should pair the source contract/protocol reference with the diverging code location. -->
|
|
54
|
+
<!-- When the analyzed code is the CALLER of a contract another system implements, what that system
|
|
55
|
+
does with the payload is an external-behavior claim (action: verify at runtime) until a runtime
|
|
56
|
+
probe against the pinned version says otherwise — see passes/05 "Which side implements the contract". -->
|
|
48
57
|
|
|
49
58
|
| # | Location | Defect | Severity | Evidence Level | Action | Spec Reference |
|
|
50
59
|
|---|----------|--------|----------|----------------|--------|----------------|
|
|
@@ -95,6 +104,21 @@
|
|
|
95
104
|
|
|
96
105
|
---
|
|
97
106
|
|
|
107
|
+
## Open Questions
|
|
108
|
+
|
|
109
|
+
<!-- Every finding whose Evidence Level is open question or external-behavior claim gets a row
|
|
110
|
+
here, so the hedge travels with the finding into this document — not only into the handoff.
|
|
111
|
+
Include any still-open needs-runtime-test question a closed carry-forward derived from.
|
|
112
|
+
Mirror each row into your phase handoff's open_questions. Derived findings lists the finding
|
|
113
|
+
numbers (e.g. "5.2") that depend on this question; none of them may carry a settled action
|
|
114
|
+
while the question stands. -->
|
|
115
|
+
|
|
116
|
+
| ID | Kind | Question | Why source cannot settle it | Derived findings |
|
|
117
|
+
|----|------|----------|-----------------------------|------------------|
|
|
118
|
+
| | | | | |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
98
122
|
## Coverage and limits
|
|
99
123
|
|
|
100
124
|
- Inspected scope:
|
|
@@ -115,6 +139,8 @@
|
|
|
115
139
|
| 4 | Findings are organized by pass and sorted by severity; summary tables match the detailed findings. | PASS / PARTIAL / FAIL | |
|
|
116
140
|
| 5 | Findings are marked with evidence levels. | PASS / PARTIAL / FAIL | |
|
|
117
141
|
| 6 | Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots. | PASS / PARTIAL / FAIL | |
|
|
142
|
+
| 7 | Unsettled findings (evidence level open question or external-behavior claim) carry an unsettled action (verify at runtime or port differently on pre-porting pipelines; investigate on maintenance pipelines), never a settled one, and each appears in the Open Questions table. | PASS / PARTIAL / FAIL | |
|
|
143
|
+
| 8 | Every quantitative specific in a finding (size, count, default, version, timeout) cites the file and line or command output it was read from, or is marked as an estimate. | PASS / PARTIAL / FAIL | |
|
|
118
144
|
|
|
119
145
|
**Validated by:** [session identifier or date]
|
|
120
146
|
**Overall:** PASS / PASS WITH GAPS / FAIL
|
|
@@ -19,8 +19,7 @@ heredoc-vs-edit sync risks that bite append-to-large-file workflows once the fil
|
|
|
19
19
|
|
|
20
20
|
Before appending, scan the bottom 5 entries. If you see a line with the same date AND same
|
|
21
21
|
phase-or-module AND same summary, do not append — the prior session already wrote it. The
|
|
22
|
-
framework has no programmatic dedup gate; this is human-discipline.
|
|
23
|
-
`Apply 20 spec deltas to Thaumaturge.txt` for the incident that established this rule.)
|
|
22
|
+
framework has no programmatic dedup gate; this is human-discipline.
|
|
24
23
|
|
|
25
24
|
A one-liner to surface duplicates from the shell:
|
|
26
25
|
|
|
@@ -33,7 +32,5 @@ grep -E '^- [0-9]{4}-[0-9]{2}-[0-9]{2}' .codecarto/THREAD_LOG.md | sort | uniq -
|
|
|
33
32
|
<!--
|
|
34
33
|
Append one line per session below this marker.
|
|
35
34
|
Example:
|
|
36
|
-
- 2026-
|
|
35
|
+
- 2026-03-14 — architecture — mapped 14 packages across 3 layers; wire formats deferred to protocols — [closeout](closeouts/2026-03-14-architecture.md)
|
|
37
36
|
-->
|
|
38
|
-
|
|
39
|
-
- 2026-05-02 — framework-feedback-pass — applied 6 spec-blockers + 5 clarifications from FEEDBACK_INDEX.md; 14 deferred to BACKLOG.md — [closeout](closeouts/2026-05-02-framework-feedback-pass.md)
|
|
@@ -50,7 +50,7 @@ Below is what a real PASS WITH GAPS block looks like — useful when a phase fin
|
|
|
50
50
|
| 2 | The layer map and dependency direction are documented. | PASS | §Layer Map; dependency direction in §Layer Map → "Dependency Direction." |
|
|
51
51
|
| 3 | Public surfaces are identified. | PARTIAL | CLI commands and HTTP routes enumerated (§Public Surfaces). MCP server endpoints and the websocket subscription channel are listed by name only — schemas not extracted. Routed to `carry_forward` as `arch-CF2` with `target_phase: protocols`. |
|
|
52
52
|
| 4 | Runtime lifecycle, concurrency model, and porting priorities are summarized. | PASS | §Runtime Lifecycle, §Concurrency Model, §Porting Priorities (table). |
|
|
53
|
-
| 5 | Findings are marked with evidence levels. | PASS | All inferences marked `observed fact` / `strong inference` / `portability hazard` / `open question`. |
|
|
53
|
+
| 5 | Findings are marked with evidence levels. | PASS | All inferences marked `observed fact` / `strong inference` / `portability hazard` / `external-behavior claim` / `open question`. |
|
|
54
54
|
|
|
55
55
|
**Validated by:** 2026-05-02 (architecture phase, session 1)
|
|
56
56
|
**Overall:** PASS WITH GAPS
|
|
@@ -56,6 +56,8 @@ phases:
|
|
|
56
56
|
- Findings are organized by pass and sorted by severity.
|
|
57
57
|
- Summary tables are complete and counts match the detailed findings.
|
|
58
58
|
- Findings are marked with evidence levels.
|
|
59
|
+
- Unsettled findings (evidence level open question or external-behavior claim) carry an unsettled action (verify at runtime or port differently on pre-porting pipelines; investigate on maintenance pipelines), never a settled one, and each appears in the Open Questions table.
|
|
60
|
+
- Every quantitative specific in a finding (size, count, default, version, timeout) cites the file and line or command output it was read from, or is marked as an estimate.
|
|
59
61
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
60
62
|
handoff_requirements:
|
|
61
63
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
@@ -60,6 +60,8 @@ phases:
|
|
|
60
60
|
- Findings are organized by pass and sorted by severity.
|
|
61
61
|
- Summary tables are complete and counts match the detailed findings.
|
|
62
62
|
- Findings are marked with evidence levels.
|
|
63
|
+
- Unsettled findings (evidence level open question or external-behavior claim) carry an unsettled action (verify at runtime or port differently on pre-porting pipelines; investigate on maintenance pipelines), never a settled one, and each appears in the Open Questions table.
|
|
64
|
+
- Every quantitative specific in a finding (size, count, default, version, timeout) cites the file and line or command output it was read from, or is marked as an estimate.
|
|
63
65
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
64
66
|
handoff_requirements:
|
|
65
67
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
@@ -159,7 +161,7 @@ phases:
|
|
|
159
161
|
- The system summary, layer map, contract table, protocol notes, and porting findings are synthesized.
|
|
160
162
|
- Portability hazards and open questions are separated from facts.
|
|
161
163
|
- Feature importance is sorted for porting.
|
|
162
|
-
- Known defects are referenced with porting recommendations (fix before porting / port differently / leave behind).
|
|
164
|
+
- Known defects are referenced with porting recommendations (fix before porting / port differently / leave behind / verify at runtime).
|
|
163
165
|
- Findings are marked with evidence levels.
|
|
164
166
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
165
167
|
- The Source Index makes the bundle a self-contained compression boundary and identifies targeted deep-read triggers.
|
|
@@ -62,6 +62,8 @@ phases:
|
|
|
62
62
|
- Summary tables are complete and counts match the detailed findings.
|
|
63
63
|
- Items spotted that are actually semantic in nature are routed onward via a carry_forward entry in the phase handoff targeting defect-scan-semantic.
|
|
64
64
|
- Findings are marked with evidence levels.
|
|
65
|
+
- Unsettled findings (evidence level open question or external-behavior claim) carry an unsettled action (verify at runtime or port differently on pre-porting pipelines; investigate on maintenance pipelines), never a settled one, and each appears in the Open Questions table.
|
|
66
|
+
- Every quantitative specific in a finding (size, count, default, version, timeout) cites the file and line or command output it was read from, or is marked as an estimate.
|
|
65
67
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
66
68
|
handoff_requirements:
|
|
67
69
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
@@ -157,6 +159,8 @@ phases:
|
|
|
157
159
|
- Findings are organized by pass and sorted by severity; summary tables match the detailed findings.
|
|
158
160
|
- Any carry_forward entries that targeted defect-scan-semantic have been resolved or explicitly re-routed.
|
|
159
161
|
- Findings are marked with evidence levels.
|
|
162
|
+
- Unsettled findings (evidence level open question or external-behavior claim) carry an unsettled action (verify at runtime or port differently on pre-porting pipelines; investigate on maintenance pipelines), never a settled one, and each appears in the Open Questions table.
|
|
163
|
+
- Every quantitative specific in a finding (size, count, default, version, timeout) cites the file and line or command output it was read from, or is marked as an estimate.
|
|
160
164
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
161
165
|
handoff_requirements:
|
|
162
166
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
@@ -196,7 +200,7 @@ phases:
|
|
|
196
200
|
- The system summary, layer map, contract table, protocol notes, and porting findings are synthesized.
|
|
197
201
|
- Portability hazards and open questions are separated from facts.
|
|
198
202
|
- Feature importance is sorted for porting.
|
|
199
|
-
- Defect Synthesis consolidates mechanical-defects.md and semantic-defects.md with porting recommendations (fix before porting / port differently / leave behind).
|
|
203
|
+
- Defect Synthesis consolidates mechanical-defects.md and semantic-defects.md with porting recommendations (fix before porting / port differently / leave behind / verify at runtime).
|
|
200
204
|
- Findings are marked with evidence levels.
|
|
201
205
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
202
206
|
- The Source Index makes the bundle a self-contained compression boundary and identifies targeted deep-read triggers.
|