Skip to content

docs(refactor): split open-questions.md into open + closed-questions archive - #46

Merged
artyhoo merged 1 commit into
mainfrom
chore/refactor-open-questions
May 12, 2026
Merged

docs(refactor): split open-questions.md into open + closed-questions archive#46
artyhoo merged 1 commit into
mainfrom
chore/refactor-open-questions

Conversation

@artyhoo

@artyhoo artyhoo commented May 12, 2026

Copy link
Copy Markdown
Owner

Summary

Splits the 499-LOC monolithic docs/meta-factory/open-questions.md into two scoped files:

  • open-questions.md (402 LOC, 21 armed/open entries)
  • closed-questions.md (167 LOC, 8 terminal-status entries — append-only archive)

Original §13.N anchor numbers preserved across both files for backward-link stability.

What moved to closed-questions.md

Entry Closure
§13.3 Phase 3 empirical closure (2026-05-08)
§13.21 closed 2026-05-10 (Wave 1 + Wave 2)
§13.23 closed 2026-05-11 by Wave 7
§13.25 closed 2026-05-11 by Wave 5
§13.26 closed 2026-05-10
§13.27 closed by sub-wave 7.3
§13.28 closed by sub-wave 7.4.a
§13.29 closed 2026-05-12

Partial-closure entries (§13.7 sub-items, §13.16 v1-shipped, §13.22 v1-shipped) stay in open-questions per classification rules — terminal status not reached.

Cross-references updated (non-historical only)

12 files redirected from open-questions.md §13.N to closed-questions.md §13.N for moved entries. Historical archives (research-patches/, retros/, PHASE-*-PROMPT.md) intentionally not edited — append-only per Artifact Ownership Contract; backward-link stability preserved via anchor-number retention.

package-lock.json churn (+1087/-2) is npm install side-effect from fresh worktree, not a functional change.

Test plan

  • npm test — 291/291 + preset 38/38 green
  • make self-audit — 56/56 (principle 09 includes new file in REQUIRED_HEADER_DOCS at packages/core/principles/09-doc-authority-hierarchy.ts:48)
  • LOC ceiling — both files <500 LOC
  • Per-entry leak audit — 0 stale open-questions.md §13.{closed} refs across 8 closed IDs in non-historical files (.claude/, agents/, packages/, docs/meta-factory/)
  • Authoritative-for header on closed-questions.md:6 with append-only declaration at closed-questions.md:11

§1.7 Skipped: doc-maintenance refactor — file split + cross-ref redirects; no new rule, no semantic change to existing disciplines. principle 09 REQUIRED_HEADER_DOCS extended by exactly one path (packages/core/principles/09-doc-authority-hierarchy.ts:48); rule-consistency verified mechanically via make self-audit 56/56 green + 0-leak per-entry grep across 8 closed IDs in non-historical surface. §1.7's protected scope = rule-introduction/extension drift (#recommendation-skips-own-discipline); this PR is mechanical maintenance, not a recommendation introducing or extending a discipline.

…archive

Frees 97 LOC from open-questions.md (499 → 402) by archiving 8 closed §13.N
entries into new closed-questions.md. Removes 500-LOC hook pressure so
Wave 9 R-phase findings + Phase 10 decision register can land without
destructive trim of historical content.

Changes:
- docs/meta-factory/closed-questions.md (NEW) — archive of 8 closed entries
  (§13.3, §13.21, §13.23, §13.25, §13.26, §13.27, §13.28, §13.29) with TOC
  and Authoritative-for header.
- docs/meta-factory/open-questions.md — header authority statement updated;
  TOC added; closed entries removed; 21 open/armed entries retained.
- Cross-reference sweep across docs/ packages/ .claude/ agents/ —
  12 refs updated to closed-questions.md; research-patches/retros preserved
  (append-only/read-only per Artifact Ownership Contract).
- .claude/rules/doc-authority-hierarchy.md §2 — §13.21 refs + See also
  updated; closed-questions.md listed in canonical docs.
- packages/core/principles/09-doc-authority-hierarchy.ts —
  closed-questions.md added to REQUIRED_HEADER_DOCS.
- docs/meta-factory/EXECUTION-PLAN.md — fix pre-existing MD040 violations
  at lines 72 and 168 (add text lang specifier to unlabelled fenced blocks).

§1.7 Bootstrap: this is the introducing commit of closed-questions.md as a
new canonical artefact. The append-only discipline in its authority header
applies prospectively to future closures; this introducing migration moves
8 historical entries atomically and pre-dates the prospective enforcement.

Prior-art: skipped — doc-only refactor split, no new capability; structural
split of open-questions.md into open + closed archive, no new code capability.
@artyhoo
artyhoo merged commit 150edae into main May 12, 2026
38 of 40 checks passed
artyhoo added a commit that referenced this pull request May 16, 2026
docs(ssot): correct AIF Handoff attribution + add aif-handoff monorepo entries (#27-#30 + #42-#46)
@artyhoo
artyhoo deleted the chore/refactor-open-questions branch May 22, 2026 18:09
artyhoo added a commit that referenced this pull request May 29, 2026
…eep evaluation (#268)

Variant scored: MCP-consumer bridge (handoff_create_task + accept_existing_plan +
WebSocket tail + handoff_sync_status). 7 DeepWiki probes + 2 WebSearch queries +
SSOT #27/#28/#30/#43/#44/#46/#67/#80 consult + SKILL.md:404/429 disambiguation.

Verdict: REFERENCE (not ADOPT). Body-format falsifier PASSES — description field
accepts arbitrary markdown (z.string().optional(), no .max()). Minimum call =
{projectId, title}. BUT full pipeline bridge blocked by three structural issues:
(1) accept_existing_plan requires physical PLAN.md on disk in .ai-factory/ —
filesystem coupling beyond MCP boundary; (2) WebSocket broadcast channel has no
topic filter — client must filter by taskId; (3) aif-handoff Reviewer (autoMode)
conflicts with reviewer-discipline.md §2 strategy-fork-surface gate.

Admission gate §2.4: PR #127/#128 touch packages/runtime/ only — no packages/mcp/
or apps/coordinator/ changes. Gate CLEAR.

SKILL.md:404 vs :429 inconsistency resolved analytically (both consistent — BFR
verdict = REFERENCE for SP skill; operational action = ADOPT SP dispatch template).

Prior-art: prior-art-evaluations.md#44 (DEFER, body-format now confirmed compatible);
prior-art-evaluations.md#30 (DEFER, accept_existing_plan bypass documented);
prior-art-evaluations.md#67 (REJECT unchanged — Variant A is optional layer, not
replacement). Sub-wave D proposes new SSOT row for Variant A bridge vocabulary.
artyhoo added a commit that referenced this pull request May 29, 2026
…k + aif-handoff MCP) REFERENCE (#275)

Verdict per BFR-default §1: REFERENCE — design-vocabulary for dispatch-trigger
optimisation of Variant A; not actionable standalone.

Key findings (2026-05-29 evidence):
- CC PostToolUse hooks expose a purpose-built `mcp_tool` hook type for
  already-connected MCP servers (code.claude.com/docs/en/hooks.md fetched
  2026-05-29) — T-AIF-BRIDGE-B'-1 evades via different shape than originally
  framed.
- aif-handoff MCP server runs standalone without coordinator daemon for task
  creation (DeepWiki ×2 phrasings: «MCP server can be invoked statelessly from
  an arbitrary process» + «MCP HTTP daemon runs independently») —
  T-AIF-BRIDGE-B'-3 evades.
- 4 sub-options each fit <100 LOC bridge target: Option (a') = 0 LOC bash
  (mcp_tool hook config), Option (a) = ~25 LOC bash (command hook + curl),
  Option (b) = ~15 LOC chokidar Node, Option (c) = ~10 LOC fswatch bash.

BUT: B' inherits all 3 of SW-A's ADOPT-blockers verbatim (PLAN.md disk coupling,
WebSocket-broadcast no-topic-filter, autoMode Reviewer vs reviewer-discipline.md
§2 conflict — DN-1=B-constrained applies). B' optimises only the dispatch
trigger; the load-bearing blockers persist. Comparison table vs A and B in §6.

§4 5-criteria: PASS-PASS-PARTIAL-PASS-INHERITED. Match ~35%. Atomicity
INCONCLUSIVE/MITIGABLE (chokidar awaitWriteFinish for Option b; empirical for
hooks).

Falsifier: B' upgrades to ADOPT VOCABULARY iff Sub-wave D greenlights A AND
DN-1=B-constrained adopted.

T-discipline applied per kickoff §6 SW-B2: T1 / T3 / T7 / T11 / T12 / T13 / T15
/ T16 / T17 / T19 (own cold-QA before push) / T20 + T-AIF-BRIDGE-B'-1..5.

Prior-art: SSOT #20 (CC hooks API, ADOPT) + SSOT #27/#28/#30/#43/#44/#46/#67/#80
(aif-handoff rows). Additive note to SSOT #44 proposed (no verdict change).
Proposed new SSOT row at next-available slot #85.
artyhoo added a commit that referenced this pull request May 29, 2026
… Implementer-equivalent only) value-add audit (#276)

R-phase patch for Sub-wave C of the aif-handoff-as-runtime-bridge umbrella.
Evaluates Variant C (kickoff §3 lines 124-145): aif-handoff as Implementer-
equivalent only, bypass Planner+Reviewer cycle, thin CLI wrapper for kickoff
dispatch + kanban status tracking.

Verdict: REJECT (BFR-default §1 ladder). Rationale:
- The kickoff-framed "aif-handoff exec --kickoff <path>" CLI does not exist
  in lee-to/aif-handoff (DeepWiki probes 1+5, 2026-05-29).
- No first-class Implementer-only mode; skipReview:true bypasses Reviewer but
  Planner is mandatory unless accept_existing_plan with on-disk PLAN.md
  (same disk coupling SW-A flagged for Variant A).
- BEFORE/AFTER maintainer-action count: 25% literal / 0% cognitive reduction
  (T-AIF-BRIDGE-C table §4) — below kickoff §8 STOP 30% threshold → verdict
  "Variant C value-add insufficient".
- Pure-tracker pattern (paused:true + autoMode:false + manual state-machine
  transitions) IS shipped but adds zero automation beyond UI tracking;
  Docker+SQLite infra unjustified.

Cites:
- SW-A merged PR #268 (Variant A REFERENCE, 28% match, 3 ADOPT-blockers)
- SW-B merged PR #267 (Variant B REJECT, ~5% match, no dir-watch capability)
- PR #269 follow-up (mechanical corrections, no verdict changes)
- DN-1=B-constrained input consumed in criterion 5 (mooted for Variant C
  which bypasses aif-handoff Reviewer entirely)
- Gate-4 admission re-sweep: PR #127+#128 touch packages/runtime/ only
  (no MCP/coordinator drift in 30-day window)

5 distinct DeepWiki probes + 2 WebSearches + cross-ref to SW-A/SW-B/PR #269
= 19+ evidence channels (T1 floor exceeded 3.8x). §1.7 forward+backward +
§self-application + T-trap walk per ai-laziness-traps.md §3.

Single output file under docs/meta-factory/research-patches/. No code, skill,
agent, install.sh, or .claude/rules/ modifications.

### §1.7 Forward-check applied

build-first-reuse-default.md §1 verdict ladder applied; BFR §3 6-layer search
performed (SSOT rows #27/#28/#29/#30/#43/#44/#46/#67/#80 reviewed at
prior-art-evaluations.md:95-148; DeepWiki >=5 probes; WebSearch >=2 phrasings;
own-stack sweep at .claude/skills/meta-orchestrator/SKILL.md:441 anti-scope +
:404+:429 SP requesting-code-review). no-paid-llm-in-ci.md §1 enforced (all
evidence via subscription-bundled DeepWiki/WebSearch + free gh CLI + bash).
reviewer-discipline.md §2 respected (DN-1=B-constrained consumed as fact, not
re-litigated; verdict is research finding against §8 STOP, not strategy
choice). ai-laziness-traps.md §3 active T-traps applied (T1, T3, T7, T11,
T12, T13, T15, T16, T17, T19, T20, T-AIF-BRIDGE-C MANDATORY BEFORE/AFTER
table at patch §4). Evidence: see patch §8 file:line citations.

### §1.7 Backward-check applied

SSOT #27/#28/#67 receive additive notes (additive-only; no verdict changes).
Original DEFER/DEFER/REJECT rationales reviewed at prior-art-evaluations.md:
95, 96, 135 — consistent with Sub-wave C findings (reinforce existing
classifications, do not re-litigate). No .claude/rules/* modified; no
.claude/skills/* modified; no agents/* modified; no packages/* modified;
no install.sh modified; no kickoff.md modified. Single output file in
docs/meta-factory/research-patches/. Scope strictly bounded to Variant C;
SW-A/SW-B/SW-B2/SW-D out of scope. T15 self-application confirmed in
patch §10. Memory not written (Sub-wave D synthesis is the natural
codification surface). Evidence: see patch §9 file:line citations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant