You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Joe recalled: "I swear we deleted qa functionality, or had intended to. The only types I expect are facts, feedback, and runbooks." A prior pass this session confirmed qa (kind-3: qa-question/qa-answer) is fully live and shipped (internal/cli/qa.go, wired into targets.go, active spec openspec/specs/learn-qa-capture/spec.md, GLOSSARY entries, referenced in learn/recall/write-memory skill docs) and found no removal commit in git history. This issue re-examines that with a deeper pass.
The key finding: #727 already proposes exactly this — and has sat untouched for a month
#727 ("vault: collapse qa pair kinds into derivation metadata on fact/feedback — remove qa-question/qa-answer, migrate 10 pairs") is an OPEN, ready-for-agent-labeled issue, filed by Joe on 2026-08-23, with zero activity since (updatedAt == createdAt). It is a fully-specified plan to remove qa-question/qa-answer, internal/cli/qa.go, and isQueryExcludedKind, collapsing Q&A capture into optional question/certainty/contributors frontmatter fields on ordinary fact/feedback notes, migrating the (then-10) live pairs, and superseding ADR-0012. This is almost certainly the "we intended to remove it" memory — the intent was recorded in detail, just never executed.
ADR-0012 ("D5′ asymmetric QA participation", accepted 2026-07-03) is qa's founding design record: answers compete in retrieval, questions are excluded (isQueryExcludedKind) pending a round-3 dedicated q-space channel, gated on further validation.
dev/eval/LEDGER.md: the round-3 premise check (Arm V, large-n) came back BORDERLINE at 63%, below the pre-registered 80% PASS bar — round-3 (the only reason qa-question notes exist at all) remains unlicensed. Round-2 itself gates on ≥20 real captured pairs.
docs/ROADMAP.md: qa round-1 (capture) shown Shipped/Measured-borderline; round-2/3 still sit in the GATED band, unresolved.
dev/eval/qa/: confirmed this directory holds the Q&A-memory validation scripts (Arm V large-n, P1 retrieval-pollution, P2 attribution-fidelity, P3 usage-distribution) — i.e. it IS about the qa note kind. It is not a coincidentally-named "quality assurance" harness.
The "QA round-2 validation gate" in learn/SKILL.md (its vocab-liveness check) — confirmed this is the same qa (Q&A-memory) note kind's round-2 gate, not a different "quality assurance" checkpoint. The literal string "QA" in that skill step is short for the qa note kind, not a QA/testing milestone. This overlap in wording is a plausible contributor to the recollection, but the substantive finding is vault: collapse qa pair kinds into derivation metadata on fact/feedback — remove qa-question/qa-answer, migrate 10 pairs #727, not a naming coincidence.
qa is the smallest kind by a wide margin (22/987 notes, ~2.2%). The round-2 gate needs ≥20 pairs; only 11 have accumulated in the ~2.5 months since round-1 shipped (2026-07-03) — well short, and round-3's licensing bar (Arm V ≥80%) already failed at 63%. Per #727: the qa-question half is write-only dead weight today (nothing reads it back; the only consumer would be the unlicensed round-3 channel), and recall's Step 4 double-writes a synthesis note and a qa pair restating the same conclusion.
The question for Joe
This is Joe's call — the evidence above (usage volume, the failed round-3 gate, ADR-0026's outlier framing, and Joe's own #727 proposal) leans toward "remove/merge," but three options are on the table and nothing here should be read as a final decision:
Keep qa as-is, re-attempt round-2/3 validation once ≥20 pairs accumulate.
Something else — e.g. keep capture but drop round-3 entirely, or re-scope certainty/contributors metadata without a full collapse.
Given #727 already covers the "remove" option in complete implementable detail, the most useful next step may simply be deciding whether to execute #727 (possibly closing this issue as a duplicate once that's decided) rather than re-planning from scratch.
Trigger
Joe recalled: "I swear we deleted qa functionality, or had intended to. The only types I expect are facts, feedback, and runbooks." A prior pass this session confirmed
qa(kind-3:qa-question/qa-answer) is fully live and shipped (internal/cli/qa.go, wired intotargets.go, active specopenspec/specs/learn-qa-capture/spec.md, GLOSSARY entries, referenced in learn/recall/write-memory skill docs) and found no removal commit in git history. This issue re-examines that with a deeper pass.The key finding: #727 already proposes exactly this — and has sat untouched for a month
#727 ("vault: collapse qa pair kinds into derivation metadata on fact/feedback — remove qa-question/qa-answer, migrate 10 pairs") is an OPEN,
ready-for-agent-labeled issue, filed by Joe on 2026-08-23, with zero activity since (updatedAt == createdAt). It is a fully-specified plan to removeqa-question/qa-answer,internal/cli/qa.go, andisQueryExcludedKind, collapsing Q&A capture into optionalquestion/certainty/contributorsfrontmatter fields on ordinaryfact/feedbacknotes, migrating the (then-10) live pairs, and superseding ADR-0012. This is almost certainly the "we intended to remove it" memory — the intent was recorded in detail, just never executed.What the deeper pass found
isQueryExcludedKind) pending a round-3 dedicated q-space channel, gated on further validation.dev/eval/LEDGER.md: the round-3 premise check (Arm V, large-n) came back BORDERLINE at 63%, below the pre-registered 80% PASS bar — round-3 (the only reasonqa-questionnotes exist at all) remains unlicensed. Round-2 itself gates on ≥20 real captured pairs.docs/ROADMAP.md: qa round-1 (capture) shown Shipped/Measured-borderline; round-2/3 still sit in the GATED band, unresolved.dev/eval/qa/: confirmed this directory holds the Q&A-memory validation scripts (Arm V large-n, P1 retrieval-pollution, P2 attribution-fidelity, P3 usage-distribution) — i.e. it IS about the qa note kind. It is not a coincidentally-named "quality assurance" harness.learn/SKILL.md(its vocab-liveness check) — confirmed this is the same qa (Q&A-memory) note kind's round-2 gate, not a different "quality assurance" checkpoint. The literal string "QA" in that skill step is short for the qa note kind, not a QA/testing milestone. This overlap in wording is a plausible contributor to the recollection, but the substantive finding is vault: collapse qa pair kinds into derivation metadata on fact/feedback — remove qa-question/qa-answer, migrate 10 pairs #727, not a naming coincidence.Usage evidence (production vault today)
qa is the smallest kind by a wide margin (22/987 notes, ~2.2%). The round-2 gate needs ≥20 pairs; only 11 have accumulated in the ~2.5 months since round-1 shipped (2026-07-03) — well short, and round-3's licensing bar (Arm V ≥80%) already failed at 63%. Per #727: the
qa-questionhalf is write-only dead weight today (nothing reads it back; the only consumer would be the unlicensed round-3 channel), and recall's Step 4 double-writes a synthesis note and a qa pair restating the same conclusion.The question for Joe
This is Joe's call — the evidence above (usage volume, the failed round-3 gate, ADR-0026's outlier framing, and Joe's own #727 proposal) leans toward "remove/merge," but three options are on the table and nothing here should be read as a final decision:
Given #727 already covers the "remove" option in complete implementable detail, the most useful next step may simply be deciding whether to execute #727 (possibly closing this issue as a duplicate once that's decided) rather than re-planning from scratch.
Related: #727 (the concrete removal/migration plan), #719 (runbook kind — independent), ADR-0012, ADR-0026,
dev/eval/LEDGER.md#qa-arm-v-borderline.