# CLARIFY — v1.27 PO State Catalog & Ciagent Compression

> **Autonomy:** full. Auto-resolution with assumption logging per
> `config.autonomy.level: "full"`. No human escalation unless
> confidence < 0.60. The prior conversation resolved all material
> ambiguities (4 user-answered questions). This file records the
> assumptions for the v1.27 record.

---

## Method

The clarify stage identifies ambiguities in the v1.27 specification
and resolves them at full autonomy. The v1.27 spec is the user-approved
plan from the prior conversation + the STATE.md design locked by 4
question answers. Each ambiguity gets a decision ID (D-214+; continuing
from the v1.26 decisions D-200..D-213), a resolution, a confidence
score, and a rationale.

---

## Prior-conversation resolutions (already locked, restated for the record)

These were resolved by user-answered questions in the conversation that
spawned v1.27. They are load-bearing for v1.27 execution and cited
here so the v1.27 record is self-contained.

### Q-P1 — What should the new PO-reference file catalog?

**Resolution:** Capability catalog (what the system can do today).
**Confidence:** 1.0 (user-confirmed). **Decision:** D-214.

### Q-P2 — How should the new file relate to CAPABILITY_INVENTORY.md?

**Resolution:** Call it `STATE.md`. PO-owned, ciagent-updated after
milestone implementation. CAPABILITY_INVENTORY.md is archived.
**Confidence:** 1.0 (user-confirmed). **Decision:** D-215.

### Q-P3 — Where should the file live, and who owns it?

**Resolution:** Owned by the PO, updated by ciagent after the milestone
is implemented with additives.
**Confidence:** 1.0 (user-confirmed). **Decision:** D-216.

### Q-P4 — How should "additive when new features are implemented" be enforced?

**Resolution:** On the last phase / milestone ship (the P-final Wave 3
"milestone ship" step). No regression-gate check in this pass.
**Confidence:** 1.0 (user-confirmed). **Decision:** D-217.

### Q-P5 — Should the initial STATE.md backfill all shipped capabilities through v1.26?

**Resolution:** Backfill all shipped capabilities through v1.26
(compressed one-liners for v1.1–v1.24; full entries for v1.25 + v1.26).
**Confidence:** 1.0 (user-confirmed). **Decision:** D-218.

### Q-P6 — Should the v1.26 pre-execution artifacts (CLARIFY, GRILL, IDEATE, RESEARCH) be archived?

**Resolution:** Archive all 4 to `.ciagent/archive/` with `-v1.26`
suffixes. The next milestone's P0 writes fresh versions. Decisions are
already folded into PROJECT.md load-bearing decisions + PLAN.md
binding revisions.
**Confidence:** 1.0 (user-confirmed). **Decision:** D-219.

---

## Ambiguities + Resolutions (this CLARIFY pass)

### Q1 — Is v1.27 a feature milestone or an NFR milestone?

**Ambiguity:** v1.27 authors `STATE.md` (a new file/capability for the
PO) and archives 11 files. Does the new-file authoring count as `feat:`
(making this a feature milestone, tags on v1.26.x with progressive
patches) or `docs:`/`chore:` (NFR milestone, same tag behavior but
subject to the NFR purity gate)?

**Resolution:** NFR milestone. `STATE.md` is documentation (a catalog of
existing capabilities), not a new platform capability. The archive moves
are `chore:` (file relocation, lossless). No code, no schema, no
platform behavior change. Tags run on the v1.26.x patch line:
`v1.26.0` (P0) → `v1.26.1..v1.26.3` (P1..P3). The final phase's patch
(`v1.26.3`) IS the milestone release.

**Confidence:** 0.95. **Decision:** D-220.

### Q2 — Where does the consumer-side archive (nova-blockchain-exchange/ROADMAP.md) land?

**Ambiguity:** The platform archive convention is
`.ciagent/archive/<file>-<milestone>.md`. The consumer subproject
(`nova-blockchain-exchange/`) has no `archive/` subdirectory. Does the
consumer ROADMAP archive at `.ciagent/archive/` (platform-side, mixed)
or `.ciagent/nova-blockchain-exchange/archive/` (consumer-side, new
subdir)?

**Resolution:** Consumer-side. Create
`.ciagent/nova-blockchain-exchange/archive/` and relocate to
`ROADMAP-v1.26.md`. This preserves the per-project path convention
(multi-project mode: `.ciagent/<slug>/` paths). The platform archive
directory is not mixed with consumer archives.

**Confidence:** 0.92. **Decision:** D-221.

### Q3 — Does archiving CLARIFY/GRILL/IDEATE/RESEARCH lose the "how v1.26 was specified" traceability?

**Ambiguity:** The pre-execution artifacts document the v1.26 decision
path. Archiving them moves them out of active context. Is the
traceability preserved?

**Resolution:** Yes. Three layers preserve it: (1) the archive files
are byte-identical relocations inside `.ciagent/archive/` (reachable by
agents + git history); (2) the decisions D-200..D-213 are folded into
`PROJECT.md` load-bearing decisions (the durable record); (3) git
history at the v1.26 commits preserves the authoritative state. The
active-context reduction is the point — v1.26 is shipped; the next P0
writes fresh CLARIFY/GRILL/IDEATE/RESEARCH.

**Confidence:** 0.95. **Decision:** D-222.

### Q4 — Should IAM_POLICY.md be archived (it predates v1.26 and is dated v1.11)?

**Ambiguity:** `IAM_POLICY.md` is dated v1.11 (2026-07-28). It predates
v1.26 by 5 milestones. The D-207 future key-split (P1+ R-3 in
REVIEW-AUDIT-P05) is pending. Archive or keep?

**Resolution:** Keep active. `IAM_POLICY.md` is a live baseline —
referenced by the regression gate
(`tests/test_iam_policy_baseline.py`), enforced by a managed policy on
account `581513795199`, and the D-207 key-split is a pending future-
hardening item. It is not stale; it is a baseline that grows when
grants change. The v1.11 date reflects the last grant addition, not
staleness.

**Confidence:** 0.90. **Decision:** D-223.

### Q5 — Should REGRESSION_REPORT.{json,md} be refreshed as part of v1.27?

**Ambiguity:** Both files are dated 2026-08-01 (v1.10 Phase 52), show
CAP-025 absent, and mark live-aws CAPs "Skipped" (state bucket absent
pre-v1.26 re-bootstrap). They are stale. Should v1.27 refresh them?

**Resolution:** No. Both files are machine-managed — written by
`core/regression_verify.py:704-705` on every `run_regression.sh` run.
They regenerate on the next regression run. v1.27 is docs/chore only
(no code); touching machine-managed files by hand creates a drift
source. The stale state is honest (the last gate run was v1.10; the
next run regenerates). The STATE.md Domain 7 row "Regression gate"
notes the current CAP range (CAP-001..025).

**Confidence:** 0.88. **Decision:** D-224.

### Q6 — Does PROJECT.md get the v1.26 phase-status fix in v1.27 P1 or P2?

**Ambiguity:** The plan splits work into P1 (author + archive) and P2
(fix stale + wire). The PROJECT.md phase-status fix (P3/P4/P5 pending
→ complete) is a "fix stale" item. P1 or P2?

**Resolution:** P2. P1 is the additive authoring + lossless archive
moves. P2 is the corrections to kept files + the ship-discipline wiring.
This keeps P1 a pure-additive, no-edit phase (easier review + audit) and
P2 the correction phase. The PROJECT.md fix is a correction; P2.

**Confidence:** 0.85. **Decision:** D-225.

---

## Summary

6 prior-conversation resolutions (D-214..D-219, all user-confirmed)
+ 6 new ambiguities (D-220..D-225, all auto-resolved at full autonomy,
confidence ≥ 0.60). 0 escalations.

**Key decisions:**
- D-220: v1.27 is an NFR milestone (tags on v1.26.x; final patch is the
  milestone release).
- D-221: Consumer archives land in `.ciagent/nova-blockchain-exchange/archive/`.
- D-222: Archiving pre-execution artifacts preserves traceability
  (archive files + PROJECT.md load-bearing decisions + git history).
- D-223: IAM_POLICY.md stays active (live baseline, test-enforced,
  D-207 pending).
- D-224: REGRESSION_REPORT.{json,md} regenerate on next
  `run_regression.sh` (machine-managed; v1.27 is docs/chore only).
- D-225: PROJECT.md phase-status fix is P2 (correction phase), not P1
  (additive phase).