NFR milestone, no new domain. Research is a codebase-grounded inventory: - 11 files to archive (4 pre-execution v1.26 artifacts + 3 phase verifications/review + 1 evidence snapshot + 3 durable refs superseded by STATE.md/NORTH_STAR/archive + 1 consumer ROADMAP). - 12 files kept active (no-edit: live code paths, durable refs). - 3 files kept active (fix-only: PROJECT.md, ROADMAP.md, archive/README.md). - STATE.md backfill sources: regression_verify.py, registry.json, REQUIREMENTS traceability, CHECKPOINT, git log, PROJECT decisions. - Persona roster: lead-developer only (docs/chore milestone). - 4 risks, all Low-Medium with documented mitigations. ---ci--- project: acdl phase: 0 milestone: v1.27 status: research ---ci---
7.9 KiB
Nova — v1.27 Research Findings
Phase: research (pre-execution). Milestone: v1.27 (PO State Catalog & Ciagent Compression). Status: research. Researcher: ci-researcher. Autonomy: full.
v1.27 is an NFR milestone (docs/chore only, no code, no schema). There is no new domain to research. The research is a codebase-grounded inventory of (a) the files to archive + their staleness evidence, and (b) the sources backing the STATE.md capability backfill. This file records the inventory for the v1.27 record; the active authoring used these sources directly.
1. Files to archive (staleness inventory)
1.1 Pre-execution artifacts (v1.26 — shipped, decisions folded)
| File | Lines | Staleness evidence | Decisions folded into |
|---|---|---|---|
CLARIFY.md |
225 | v1.26 milestone shipped (v1.25.5); decisions D-200..D-213 |
PROJECT.md load-bearing decisions |
GRILL.md |
225 | v1.26 grill verdict PROCEED 0.84; binding revisions applied | PLAN.md revisions (G-Q4 REQ-322→P2 W0; G-Q6 enforcement deferred; G-Q9 key-split future) |
IDEATE.md |
193 | all 7 accepted ideas → REQ-315..322 (shipped) | REQUIREMENTS.md v1.26 traceability |
RESEARCH.md |
250 | v1.26 domain research (blockchain, deploy, modules, metrics) | ARCHITECTURE.md §12.8; shipped REQs |
All four are pre-execution artifacts for a shipped milestone. The next
P0 writes fresh versions. Per D-219 (user-confirmed) + D-222: archive
all four with -v1.26 suffixes.
1.2 Phase verifications + review (v1.26 — shipped, PASS)
| File | Lines | Staleness evidence |
|---|---|---|
VERIFY-P03.md |
39 | v1.26 P3 verification — PASS; shipped v1.25.3 |
VERIFY-P04.md |
31 | v1.26 P4 verification — PASS; shipped v1.25.4 |
REVIEW-AUDIT-P05.md |
218 | v1.26 P5 final review + audit — PROCEED; shipped v1.25.5; 0 P0 remain; audit CLEAN |
P4-PILOT-RUN-EVIDENCE.md |
46 | v1.26 live apply evidence (blkex-pilot-apply-v0.2); summarized in nova-blockchain-exchange/README.md §5 + REVIEW-AUDIT-P05 §2.2 |
1.3 Durable references (superseded or stale)
| File | Lines | Staleness evidence | Superseded by |
|---|---|---|---|
CAPABILITY_INVENTORY.md |
120 | dated 2026-07-27; framed as "v1.1→v1.8 re-verification sweep"; predates v1.26 pilot (CAP-025 absent; blockchain capabilities absent) | STATE.md (this milestone) |
AUTONOMY_THESIS.md |
65 | "Last refined: v1.21"; thesis fully folded into NORTH_STAR.md Vision (lines 17–22) + Anti-Goals #2 |
NORTH_STAR.md |
COST.md |
106 | dated 2026-07-29; framed "v1.0 → v1.14"; predates v1.26 live pilot (ECS + ALB + DynamoDB + S3 costs not reflected) | A future cost milestone writes a fresh report; STATE.md Domain 7 notes cost tracking as a capability |
1.4 Consumer-side (nova-blockchain-exchange)
| File | Lines | Staleness evidence |
|---|---|---|
nova-blockchain-exchange/ROADMAP.md |
57 | marks P3/P4/P5 as "planned" but v1.26 shipped (v1.25.5); phase narrative preserved in platform ROADMAP.md v1.26 section |
Per D-221: consumer archives land in
.ciagent/nova-blockchain-exchange/archive/ROADMAP-v1.26.md.
2. Files to keep active (no-edit or fix-only)
2.1 No-edit (live code paths or durable)
| File | Why keep active |
|---|---|
CHECKPOINT.json |
Authoritative resume state — never archive |
config.json |
Operational config — never archive |
REGRESSION_REPORT.json |
Written by core/regression_verify.py:705; read by core/metrics/collector.py:27 + trust_snapshot.py:21 + metrics views (D-224: regenerates on next run_regression.sh) |
REGRESSION_REPORT.md |
Written by core/regression_verify.py:704; read by scripts/run_regression.sh (D-224) |
PERSONAS.md |
Regenerated at each milestone P0 by the lead-developer; not stale until then |
IAM_POLICY.md |
Live baseline, test-enforced (tests/test_iam_policy_baseline.py); D-207 future key-split pending (D-223) |
PLAN.md |
Active phase plan; reset to next milestone at next P0 |
ARCHITECTURE.md |
Durable target architecture (§1–§12 + §12.7 + §12.8 + §12.9) |
NORTH_STAR.md |
PO strategy; loaded every ci-run via config.strategic_direction_file |
nova-blockchain-exchange/PROJECT.md |
Consumer project charter; D-200..D-205 load-bearing |
nova-blockchain-exchange/REQUIREMENTS.md |
REQ-310..322 spec intent (shipped but spec stays for reference) |
nova-blockchain-exchange/README.md |
Consumer onboarding guide; still accurate (deploy workflow, secrets, contract shape, verification) |
2.2 Fix-only (corrections to stale-but-kept files)
| File | Fix |
|---|---|
PROJECT.md |
v1.26 phase-status block (lines 424–431): P3/P4/P5 "pending" → "complete" with shipped tags v1.25.3/4/5; add STATE.md pointer (D-225: P2 phase) |
ROADMAP.md |
v1.26 P3/P4/P5 sections (lines 238, 261, 272) "planned" → "complete" with shipped tags; v1.26 Overview line "active" → "complete"; add STATE.md to P5 ship-update list (D-225: P2 phase) |
archive/README.md |
Add the 11 new archived files to the contents tables (P2 phase) |
3. STATE.md capability backfill sources
The STATE.md backfill (36 capabilities across 10 domains) was sourced from:
| Source | Used for |
|---|---|
core/regression_verify.py (lines 129–768) |
CAP-001..CAP-025 IDs, names, tiers, evidence pointers |
.ciagent/CAPABILITY_INVENTORY.md (pre-archive) |
CAP-001..022 descriptions, defect notes, evidence |
modules/registry.json |
L1/L2 module catalog (13 L1 + 2 L2 entries) |
.ciagent/REQUIREMENTS.md v1.25 traceability |
REQ-291..309 → policy-engine capabilities |
.ciagent/nova-blockchain-exchange/REQUIREMENTS.md + .ciagent/REQUIREMENTS.md v1.26 traceability |
REQ-310..322 → pilot capabilities |
.ciagent/CHECKPOINT.json |
shipped tags v1.25.0..v1.25.5 |
git log --all --oneline |
file paths for v1.26 shipped features |
.ciagent/PROJECT.md load-bearing decisions |
INV-1..INV-11 invariants |
docs/submission-readiness.md + schemas/contract.schema.json |
INV-1 contract surface |
4. Persona assessment
v1.27 is a docs/chore milestone. The active roster:
- lead-developer (active): owns the milestone narrative (STATE.md
authoring, PROJECT/ROADMAP fixes, archive README, PLAN/NORTH_STAR
wiring, this RESEARCH, CLARIFY, PLAN, final review + audit). Territory:
.ciagent/,docs/. - backend-engineer (active, limited): no code changes in v1.27.
Consulted on the
core/confidence_signal.pyLSP diagnostic (pre- existing, not touched by v1.27). No territory writes. - data-engineer (inactive): no schema/migration/ORM changes.
- policy-engineer (inactive): no policy authoring.
- frontend-engineer (inactive): no UI.
- blockchain-engineer (inactive): no chain code.
Territory enforcement: warn. The milestone is .ciagent/-only; the
lead-developer owns all writes.
5. Risk analysis
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| Archive move breaks a relative path reference in an active file | Low | Medium | grep for the archived filenames across .ciagent/ + docs/ before commit; fix any dangling references in P2 |
| STATE.md capability row is inaccurate (wrong shipped tag / wrong file path) | Medium | Low | The backfill sources are the authoritative registries (regression_verify.py, registry.json, CHECKPOINT.json, git log); citations are direct |
| PROJECT.md phase-status fix conflicts with a future v1.26-era commit | Low | Low | v1.26 is shipped (main has the milestone merge); no v1.26-era commits will arrive |
| REGRESSION_REPORT stale state is mistaken for v1.27 scope | Low | Low | D-224 records the decision; STATE.md Domain 7 notes the current CAP range |
6. Verdict
v1.27 is feasible, scoped, and the sources are grounded. No new domain, no new code, no schema breaks. The archive moves are lossless (git history + archive directory both preserve bytes). The STATE.md backfill is sourced from authoritative registries. Proceed to PLAN.