286 Commits

Author SHA1 Message Date
YeonGyu-Kim
1afe145db8 roadmap(#184, #185, #186): file CLI contract hygiene gaps in unaudited verbs
Cycle #105 probe of agents/init/bootstrap-plan/system-prompt verbs
(unaudited per cycle #104 hypothesis) yielded 3 pinpoints:

#184: claw init silently accepts unknown positional arguments. Inconsistent
with #171 CLI contract hygiene pattern.

#185: claw bootstrap-plan silently accepts unknown flags. Same family as
#184, different verb, different surface.

#186: claw system-prompt --<unknown> classified as 'unknown' instead of
'cli_parse'. Classifier family member (#182-style).

Bonus observation (not filed): claw agents bogus-action emits the
canonical mcp-style {action: help, unexpected, usage} shape. This is
the shape that #183 wants as canonical, NOT the plugins-style success
envelope. agents is the reference implementation.

Hypothesis validated: unaudited verb surfaces have 2-3x higher pinpoint
yield. Predicted cycle #104-#105 pattern holds.

Pinpoint count: 76 filed, 62 genuinely open.
2026-04-23 11:01:24 +09:00
YeonGyu-Kim
7b3abfd49a roadmap(#181/#182/#183): lock reviewer-ready framings per gaebal-gajae
Final framing pass for cycle #104 plugin lifecycle pinpoints. Three
one-liner framings captured for reviewer consumption:

#181 (HIGH): 'plugins unknown-subcommand errors currently emit on the
success path instead of the JSON error path.'

#183 (HIGH): 'Invalid subcommand handling is not normalized across
plugins and mcp JSON surfaces.'

#182 (MEDIUM): 'Plugin lifecycle failures still fall through to unknown
instead of canonical error kinds.'

Branch sequencing locked:
1. feat/jobdori-181-error-envelope-contract-drift (bundles #181+#183)
2. feat/jobdori-182-plugin-classifier-alignment (#182, post-merge)

Rationale: #181 is root bug, #183 is sibling symptom, #182 is cleanup
that benefits from clean error envelope landing first.

Branch at 27 commits, 227/227 tests, review-ready.
2026-04-23 10:33:42 +09:00
YeonGyu-Kim
2c004eb884 roadmap(#181-framing, #182-correction): lock framing + correct enum proposal
Per gaebal-gajae cycle #104 framing + severity pass. Three changes:

1. #181 framing locked: 'plugins unknown-subcommand errors are emitted
   through the success envelope instead of the JSON error envelope.'

2. #181 + #183 consolidated into 'error envelope contract drift' family.
   Proposed bundled branch: feat/jobdori-181-error-envelope-contract-drift.

3. #182 scope correction (IMPORTANT): I proposed new kind 'plugin_not_found'
   without verifying SCHEMAS.md enum. Per gaebal-gajae: 'existing contract
   alignment > new enum proposal'.

Corrected mapping:
- plugins install /nonexistent → filesystem (existing enum value)
- plugins enable nonexistent → runtime (safest existing value)
- plugin_not_found proposal deferred pending explicit schema update

Doctrine lesson: enum proposal requires SCHEMAS.md baseline check first.

Severity-ordered merge plan (per gaebal-gajae):
1. #181 (HIGH) - contract bug
2. #183 (HIGH) - contract drift
3. #182 (MEDIUM) - classifier alignment
2026-04-23 10:32:50 +09:00
YeonGyu-Kim
22cc8effbb roadmap(#181, #182, #183): file plugin lifecycle axis pinpoints
Cycle #104 probe of plugin lifecycle axis (claw plugins + mcp subcommands)
yielded 3 related gaps:

#181: plugins bogus-subcommand returns SUCCESS-shaped envelope with
error buried in 'message' text field. Consumer parsing via
type=='error' check treats it as success. Severe.

#182: plugins install/enable not-found errors classified as 'unknown'
instead of 'plugin_not_found' or 'not_found'. Classifier family member.

#183: plugins and mcp emit DIFFERENT shapes on unknown subcommand.
plugins has reload_runtime+target+message, mcp has unexpected+usage.
Shape parity gap.

All three filed only per freeze doctrine. Proposed separate branches:
- feat/jobdori-181-unknown-subcommand-error-routing (#181 + #183 bundled)
- feat/jobdori-182-plugin-not-found-classifier (#182 standalone)

Pinpoint count: 73 filed, 59 genuinely open. Typed-error family: 14
members. Emission routing family: 1 new member (#181).
2026-04-23 10:31:09 +09:00
YeonGyu-Kim
a14977a866 roadmap(#180-framing): lock authoritative framing + branch name
Per gaebal-gajae cycle #103 framing pass. Captures narrative choice +
reality divergence in one line.

Framing: 'USAGE.md currently teaches entry modes, but not the actual
standalone command surface exposed by claw --help.'

Locks branch name: feat/jobdori-180-usage-standalone-surface

Next-branch prep steps documented so post-168c-merge execution is
zero-friction.

Three-stage pinpoint discipline validated again: filing (cycle #103
primary) → framing (cycle #103 addendum) → prep (execution checklist).
2026-04-23 10:25:18 +09:00
YeonGyu-Kim
e84424a2d3 roadmap(#180): file USAGE.md verb coverage gap
Cycle #103 doc-truthfulness audit found USAGE.md incomplete.

Actual CLI has 14 standalone verbs (status, doctor, mcp, skills, agents,
export, init, sandbox, system-prompt, bootstrap-plan, dump-manifests,
help, version, acp).

USAGE.md covers only 3 entry modes (claw REPL, claw prompt TEXT,
claw --resume). Other verbs absent or underdocumented.

Example: USAGE.md says 'start claw, then /doctor' but doesn't explain
that 'claw doctor' is also a standalone entry point (no REPL needed).

Fix: Add 'Standalone commands' section to USAGE.md with all 14 verbs
documented. Include regression test (grep USAGE.md for each verb).

Doc-truthfulness family: #76, #79, #82, #172, #180.

Pinpoint count: 70 filed, 56 genuinely open.
2026-04-23 10:24:24 +09:00
YeonGyu-Kim
de5384c8f0 roadmap(#179): file missing SKILL.md validation gap as separate pinpoint
Per gaebal-gajae cycle #102 refinement. Originally tangled into #177
filing but properly belongs as distinct pinpoint.

Taxonomy:
- #177: nonexistent path → filesystem kind
- #178: export enum drift → filesystem canonical
- #179: missing SKILL.md → parse/validation kind (this filing)

Family renamed per gaebal-gajae: 'resource / install-surface error
taxonomy gap' (was 'filesystem error family'). Better captures that
not all gaps in this cluster are filesystem-rooted.

Proposed branch bundle: feat/jobdori-177-install-surface-taxonomy
covers all three as coordinated taxonomy sweep.

Pinpoint count: 69 filed, 55 genuinely open.
2026-04-23 10:04:03 +09:00
YeonGyu-Kim
93cfdbabeb roadmap(#175): file gaebal-gajae's CI fmt/test signal decoupling framing + resolve numbering collision
#175 numbering collision between:
- gaebal-gajae's CI framing (filed at ~10:00 via Discord verbally)
- my filesystem classifier filing (#175 per cycle #102 10:02)

Resolution:
- gaebal-gajae's framing reclaims #175 (higher-level workflow gap)
- My filesystem classifier renumbered to #177
- My export enum naming renumbered to #178

All three pinpoints now filed with correct non-colliding numbers:
- #175: CI fmt/test signal decoupling (gaebal-gajae)
- #177: skills install filesystem classifier (Jobdori, was #175)
- #178: export kind naming consistency (Jobdori, was #176)

Typed-error family membership updated accordingly.
2026-04-23 10:02:52 +09:00
YeonGyu-Kim
efc59ab17e roadmap(#175, #176): file filesystem error classifier gaps
Cycle #102 probe of model/skills/export axis found two related gaps:

#175: skills install filesystem errors classified as 'unknown' instead of
'filesystem' (which is in v1.5 enum).

#176: export uses 'filesystem_io_error' kind but this is NOT in v1.5
declared enum (which only lists 'filesystem'). Inconsistent naming.

Both filed only per freeze doctrine. Proposed bundling as
feat/jobdori-175-filesystem-error-family branch.

Family observation: classifier + enum-naming gaps found simultaneously
in filesystem-error axis. Indicates broader unaudited surface.

Pinpoint count: 68 filed, 54 genuinely-open.
2026-04-23 10:01:06 +09:00
YeonGyu-Kim
635f1145a2 roadmap(#174-framing): lock authoritative framing + branch name
Per gaebal-gajae cycle #101 framing pass. Adds stable framing that
captures scope + root cause + visible effect + surface in one line.

Locks branch name: feat/jobdori-174-resume-trailing-cli-parse

Next-branch prep steps documented so post-168c-merge execution is
zero-friction (classifier branch + regression test pattern already
established by #169/#170/#171).
2026-04-23 09:33:01 +09:00
YeonGyu-Kim
a8fc17cdee roadmap(#174): file --resume trailing args classifier gap
Cycle #101 probe of session-boot axis (prompt misdelivery / resume
lifecycle) found another typed-error classifier gap.

Filed only, not fixed. Per freeze doctrine (cycles #98-#100), no new
code axis added to feat/jobdori-168c-emission-routing.

Pattern: `--resume trailing arguments must be slash commands` classified
as 'unknown' instead of 'cli_parse'. Side effect: #247 hint synthesizer
doesn't trigger, so hint is null.

Same family as #169, #170, #171 (classifier coverage gaps).

Proposed fix: add `--resume trailing arguments` pattern to
classify_error_kind as cli_parse.

Pinpoint count: 66 filed, 52 genuinely-open + #174 new.
2026-04-23 09:31:21 +09:00
YeonGyu-Kim
28102af64a roadmap(#173): file structured-output hint parity gap
Cycle #100 probe of non-classifier axes (event/log opacity) found new
consumer parity gap: JSON mode missing 'hint' field that text mode
provides for config_load_error scenarios.

Filed only, not fixed. Per freeze doctrine (cycles #98-#99), no new axis
added to feat/jobdori-168c-emission-routing. This pinpoint is a Phase 1
scope candidate for a separate branch.

Affects: claw mcp, claw status, claw doctor (JSON mode).
Text mode shows: Hint  `claw doctor` classifies config parse errors...
JSON mode shows: no hint field at all.

Consumer impact: claws parsing JSON output can't programmatically route
errors to recovery paths the way text-mode users can with human guidance.

Family: Consumer parity. Related: #247 (hint synthesizer), #169-#172
(classifier family), #172 (doc-truthfulness).

Proposed fix: add 'hint' field to JSON envelope when config_load_error
is present, with hint taxonomy for typed dispatch.

Pinpoint count: 65 filed, 51 genuinely-open + #173 new.
2026-04-23 09:01:53 +09:00
YeonGyu-Kim
3a2dddd1ca roadmap(#172): file + close doc-vs-reality gap — action field inventory count
Cycle #98 probe of non-classifier axes found documentation truthfulness
gap in SCHEMAS.md v1.5 Emission Baseline.

#172 closed by commit ce352f4 (same branch, same cycle).

Part of doc-truthfulness family (#76, #79, #82).

Completes SCHEMAS.md truthfulness trifecta:
- Cycle #91: Baseline documentation (13 verbs)
- Cycle #92: Shape parity guard (10 cases)
- Cycle #98: Phase 1 target count locked (3 verbs, 11 assertions)

Pinpoint count: 64 filed, 51 genuinely-open + #172 closed this cycle.
2026-04-23 08:33:35 +09:00
YeonGyu-Kim
d9b61cc4dc roadmap(#171): file + close classifier gap for unexpected extra arguments
Cycle #97 probing #141 surface found additional classifier gap.
#171 closed by commit fbb0ab4 (same branch, same cycle).

Part of typed-error family (#121, #127, #129, #130, #164, #169, #170, #247).

#141 (list-sessions --help doesn't show help) remains open — requires
separate parser fix for --help-as-distinct-path logic.

Pinpoint count: 63 filed, 51 genuinely-open + #171 classifier closed.
2026-04-23 08:02:28 +09:00
YeonGyu-Kim
5736f364a9 roadmap(#153): file + close pinpoint — binary PATH instructions + verification bridge
Cycle #96 dogfood found practical install-experience gap in USAGE.md.
#153 closed by commit 6212f17 (same branch, same cycle).

Part of discoverability family (#155, help/USAGE parity).

Pinpoint count: 62 filed, 51 genuinely-open + #153 closed this cycle.
2026-04-23 07:52:41 +09:00
YeonGyu-Kim
0f023665ae roadmap(#170): file + close 4 additional classifier gaps + doc-vs-reality meta-observation
Cycle #95 dogfood probe validated #169 doctrine by finding 4 more gaps.

Meta-observation noted: #169 comment claimed to cover --permission-mode
bogus but actual string pattern differs. Lesson for future classifier
patches: comments name EXACT matched substring, not aspirational coverage.

New kind introduced: slash_command_requires_repl (for interactive-only
slash-command misuse).

Pinpoint count: 62 filed, 52 genuinely-open + #170 closed this cycle.
2026-04-23 07:32:32 +09:00
YeonGyu-Kim
b8984e515b roadmap(#169): file + close pinpoint — invalid CLI flag values now classify as cli_parse
Documents #169 discovery during dogfood probe 2026-04-23 07:00 Seoul.

Pinpoint #169 closed by commit 834b0a9 (same branch, same cycle).

Part of typed-error family (#121, #127, #129, #130, #164, #247).

Pinpoint count: 61 filed, 52 genuinely-open + 1 closed in this cycle.
2026-04-23 07:04:07 +09:00
YeonGyu-Kim
3311266b59 roadmap: Phase 0 locked as 'JSON emission baseline stabilization' (cycle #88)
Per gaebal-gajae framing: Phase 0 addresses EMISSION (stream routing + exit code +
no-silent guarantee), not SHAPE (which moves to Phase 1).

Phase 0 subtasks (1.25 days total):
1. Stream routing fix — bootstrap/dump-manifests/state stderr → stdout for JSON
2. No-silent guarantee — CI asserts every verb emits valid JSON or exits non-zero
3. Per-verb emission inventory — authoritative catalog artifact
4. CI parity test — prevent regressions

Phase 1 now owns shape normalization (list-sessions 'command' → 'kind').
Phase 0 owns emission stability; Phase 1 owns shape consistency; Phase 2+ handles envelope wrapping.

#168b formally closed as INVALID (cycle #84 misread; stderr output routing is real
issue, now tracked as #168c).

Revised pinpoint accounting:
- Filed: 60 (audit trail includes #168b as invalid)
- Genuinely-open: 52
- Phase 0 active: #168c + emission CI
- Phase 1 active: #168a
2026-04-23 05:52:27 +09:00
YeonGyu-Kim
cd6e1cea6f roadmap: #168 split into #168a/#168b/#168c after controlled matrix audit (cycle #87)
Controlled matrix (/tmp/cycle87-audit/matrix.json) tested 16 verbs x 2 envs = 32 cases.

Results:
- #168a CONFIRMED: per-command shape divergence real (13 unique shapes across 13 verbs)
- #168b REFUTED: bootstrap does NOT silent-fail. Exit=1 stderr=483 bytes (not silent).
  Cycle #84 misread exit code (claimed 0, actually 1) and missed stderr output.
- #168c NEW: bootstrap/dump-manifests/state write plain stderr under --output-format json

Phase 0 reworded: 'Fix bootstrap silent failure' (inaccurate) → 'Controlled JSON
baseline audit + minimum invariant normalization' (accurate).

Concrete Phase 0 work (1.5 days):
- Normalize list-sessions 'command' → 'kind' (align with 12/13 verbs)
- Normalize stderr output to JSON for bootstrap/dump-manifests/state
- Document v1.5 baseline shape catalog in SCHEMAS.md
- Add shape parity CI test

Controlled revalidation (per gaebal-gajae cycle #87 direction) prevented Phase 0
from being anchored to a refuted bug. #168b is now closed as refuted; #168a and
#168c are the actual Phase 0 targets.
2026-04-23 05:50:52 +09:00
YeonGyu-Kim
f30aa0b239 roadmap: #168b filed — cycle #86 fresh-dogfood contradicts cycle #84 bootstrap claim (revalidation) 2026-04-23 05:48:56 +09:00
YeonGyu-Kim
7f63e22f29 roadmap: promote #164 from locus to 'JSON Productization Program' (cycle #85b)
gaebal-gajae review reframed the work: this is not 'schema drift management'
but a 'JSON productization program' — taking JSON output from bespoke/incoherent
to reliable/contractual as a product.

Promotion trigger: Fresh-dogfood evidence (#168) proved v1.0 was never coherent.
Migration isn't just schema change; it's productizing JSON output.

Program structure:
- Phase 0: Emergency stabilization (fix #168 bootstrap silent failure)
- Phase 1: v1.5 baseline (normalize invariants across all 14 verbs)
- Phase 2: v2.0 opt-in wrapped envelope
- Phase 3: v2.0 default
- Phase 4: v1.0/v1.5 deprecation

Umbrellas 9+ related pinpoints under coordinated program (#164, #167, #168,
#102, #121, #127, #129, #130, #245).

Program doctrine locked:
1. Fresh-dogfood before migration
2. Honest effort estimates
3. Consumer-first design
4. Evidence-driven revision
5. Documentation as product

Next concrete action: Phase 0 — implement #168 bootstrap JSON fix.
Success metric: A claw can write ONE parser for ALL clawable commands.
2026-04-23 05:34:29 +09:00
YeonGyu-Kim
562f19bcff roadmap: #168 filed — JSON envelope shape inconsistent per-command; bootstrap broken (cycle #84)
Fresh dogfood validation (cycle #84) revealed the binary v1.0 envelope is NOT
consistent across commands:

- list-sessions: {command, sessions}
- doctor: {checks, kind, message, ...}
- bootstrap: (no JSON output at all)
- mcp: {action, kind, status, ...}

Each command has a custom JSON shape. Bootstrap's JSON path is completely broken
(exit 0 but no output). This is not 'v1.0 vs v2.0 design difference' — it's
'no consistent v1.0 ever existed'.

This explains why #164 (envelope migration) is blocked on design: the 'v1.0 from'
was never coherent. The real task is not 'migrate v1.0 to v2.0' but 'migrate
incoherent-per-command shapes to coherent-common-envelope'.

Implications for cycles #76–#82: The P0 doc fixes were correct to mark SCHEMAS.md
as 'aspirational' because the binary never had a consistent contract to document.
The deeper issue: each verb renderer was written independently with no envelope
coordination.

Three options proposed:
- A: accept per-command shapes (status quo + documentation)
- B: enforce common wrapper (FIX_LOCUS_164 full approach)
- C: hybrid (document current incoherence, then migrate 3 pilot verbs)

Recommendation: Option C. Documents truth immediately, enables phased migration.

This filing resolves the #164 design blocker: now we understand what we're
migrating from.
2026-04-23 05:31:09 +09:00
YeonGyu-Kim
43bbf43f01 roadmap: #167 filed — text output format has no contract (cycle #83)
SCHEMAS.md locks JSON envelope contract for all 14 clawable commands.
No corresponding contract for text output (--output-format text).

Text output is ad hoc per-command: no documented format, no column ordering
guarantee, no stability contract. Claws parsing text output have no safety.

Filed as discovery gap from systematic doc audit (cycle #83). Design options:
- Option A: Document text contracts (parallel to JSON) — 4 dev-days
- Option B: Declare text unstable, point to JSON — 1 dev-day (recommended)
- Option C: Defer until post-#164 JSON migration

Related to #164 (JSON migration) and #250 (surface parity audit).
2026-04-23 05:29:45 +09:00
YeonGyu-Kim
8322bb8ec6 roadmap: #166 closed — SCHEMAS.md source misdoc fixed (P0 root cause)
The aspirational SCHEMAS.md doc (v2.0 target) was the source of truth misdocumentation.
Three downstream docs (USAGE, ERROR_HANDLING, CLAUDE) inherited the false claim that
v1.0 binary emits common fields it doesn't actually emit.

Fixing SCHEMAS.md at the source eliminates the root cause for all four P0 instances.

Doc-truthfulness P0 family now complete: 4/4 closed, root cause identified + fixed.
All fixes shipped within 6 cycles (#76 audit → #82 execution).
2026-04-23 05:21:22 +09:00
YeonGyu-Kim
86db2e0b03 roadmap: #165 closed with evidence (cycle #81, commit 1a03359)
CLAUDE.md Option A implemented. P0 doc-truthfulness family now at 3 closed +
0 open (all 3 fixed within the same dogfood session).

Taxonomy refinement added: P0 doc-truthfulness has three distinct subclasses:
- active misdocumentation (false sentence) — USAGE.md cycle #78
- copy-paste trap (broken example code) — ERROR_HANDLING.md cycle #79
- target/current boundary collapse (v2.0 as v1.0) — CLAUDE.md cycle #81

All three related to #164 (envelope divergence). Root cause consistent across
family; remedies differ per subclass.
2026-04-23 05:11:42 +09:00
YeonGyu-Kim
b34f370645 roadmap: #165 filed — CLAUDE.md documents v2.0 schema as current (P0 active misdoc)
CLAUDE.md claims 'Common fields (all envelopes): timestamp, command, exit_code,
output_format, schema_version' but the actual binary v1.0 doesn't emit these.

This is aspirational (v2.0 target from SCHEMAS.md) documented as current behavior
in a file that's supposed to describe the Python reference harness.

Filed as 3rd member of doc-truthfulness P0 family (joins #78, #79).
Both options documented: update CLAUDE.md for v1.0 OR clarify it's v2.0 aspirational.
Recommendation: Option A (keep CLAUDE.md truthful about actual validation).

Part of broader #164 family (envelope schema divergence across all docs).
2026-04-23 05:10:01 +09:00
YeonGyu-Kim
a9e87de905 roadmap: doctrine refinement — doc-truthfulness severity scale (cycle #79)
Formalizes a 4-level severity scale for documentation-vs-implementation divergence:
- P0: Active misdocumentation (consumer code breaks) — immediate fix
- P1: Stale docs (consumer confused) — high priority
- P2: Incomplete docs (friction, eventual success) — medium
- P3: Terminology drift (confusion but survivable) — low

Parallel to diagnostic-strictness scale (cycles #57–#69). Both are
'truth-over-convenience' constraints.

Evidence: cycles #78–#79 found 2 P0 instances in USAGE.md and ERROR_HANDLING.md,
both related to JSON envelope shape. Root cause: SCHEMAS.md is aspirational (v2.0),
binary still emits v1.0, docs needed to be empirical not aspirational.

Going forward: doc audits compare against actual binary, flag P0 violations
immediately, link forward to migration plans (FIX_LOCUS_164.md).
2026-04-23 05:00:55 +09:00
YeonGyu-Kim
5b9097a7ac roadmap: #164 filed — JSON envelope schema-vs-binary divergence
Binary emits different envelope shape than SCHEMAS.md documents:
- Missing: timestamp, command, exit_code, output_format, schema_version
- Wrong placement: kind is top-level, not nested under error
- Extra: type:error field not in schema
- Wrong type: error is string, not object with operation/target/retryable

Additional issue: 'kind' field is semantically overloaded (verb-id in
success envelopes, error-kind in error envelopes) — violates typed contract.

Filed as 7th member of typed-error family (joins #102, #121, #127, #129, #130, #245).
Recommended fix: Option A — update binary to match schema (principled design).
2026-04-23 04:31:53 +09:00
YeonGyu-Kim
69a15bd707 roadmap: cycle #75 finding — rebase-bridge pattern breaks on multi-conflict branches
Attempted cherry-pick of #248 (1 commit) onto main. Encountered 2 conflict zones
in main.rs (test definitions + error classification). Manual regex cleanup left
orphaned diff markers that Rust compiler rejected.

Decision: Rebase-bridge works for 1-conflict branches, but 2+ conflicts in 12K+-line
files require author context. Revised strategy: push main to origin, request branch
authors rebase locally with IDE support, then merge from updated origin branches.

Estimated timeline: 30 min for branch authors to rebase 8 branches in parallel.
2026-04-23 04:26:21 +09:00
YeonGyu-Kim
41c87309f3 roadmap: cycle #74 checkpoint — rebase blocker identified
Fresh dogfood found no new pinpoints. All core verbs working correctly.

Blocker: 8 remaining review-ready branches on origin have conflicts with
cycle #72's 4 merges. Root cause: remote branches predated the merge chain.

Example: feat/jobdori-127-verb-suffix-flags rebase fails on commit 3/3
because cycle #72 added 15+ new LocalHelpTopic variants.

Recommend: coordinate with branch authors to rebase against new main.
Cycle #74 will post integration checkpoint + queue status.
2026-04-23 04:17:54 +09:00
YeonGyu-Kim
a02527826e roadmap: #163 closed as already-fixed — #130e-A (merged cycle #72) handled help --help
Backlog-truthfulness (cycle #60) validated: fresh dogfood on current main confirmed
#163 was closed by cycle #72's help-parity chain merge. Zero duplicate work.

Cleanup: removed /tmp/jobdori-163 worktree and fix/jobdori-163-help-help-selfref branch.
2026-04-23 04:07:37 +09:00
YeonGyu-Kim
a52a361e16 roadmap: cycle #72 — 4 merges landed, 9 branches integrated via MERGE_CHECKLIST runbook 2026-04-23 04:04:57 +09:00
YeonGyu-Kim
499d84c04a roadmap: #163 filed — claw help --help emits missing_credentials instead of help topic (help-parity family) 2026-04-23 04:01:24 +09:00
YeonGyu-Kim
6d1c24f9ee roadmap: doctrine refinement — three-tier artifact classification (doc → support → execution) per cycle #70 framing 2026-04-23 03:56:48 +09:00
YeonGyu-Kim
0527dd608d roadmap: #161 closed — shipped on fix/jobdori-161-worktree-git-sha (cycle #69) 2026-04-23 03:46:37 +09:00
YeonGyu-Kim
d64c7144ff roadmap: doctrine extension — CLI discoverability chain completion as doctrine (from #162 closure framing) 2026-04-23 03:40:43 +09:00
YeonGyu-Kim
2a82cf2856 roadmap: #162 closed — shipped on docs/jobdori-162-usage-verb-parity (cycle #68) 2026-04-23 03:39:36 +09:00
YeonGyu-Kim
de7a0ffde6 roadmap: #162 filed — USAGE.md missing docs for dump-manifests, bootstrap-plan, acp, export verbs (parity audit) 2026-04-23 03:37:09 +09:00
YeonGyu-Kim
36883ba4c2 roadmap: cluster update — #161 elevated to diagnostic-strictness family (per gaebal-gajae reframe) 2026-04-23 03:35:03 +09:00
YeonGyu-Kim
f18f45c0cf roadmap: #161 filed — claw version stale SHA in worktrees (build.rs rerun-if-changed misses worktree HEAD) 2026-04-23 03:31:40 +09:00
YeonGyu-Kim
946e43e0c7 roadmap: doctrine extension — integration support artifacts as first-class deliverable at scale (from #64 framing) 2026-04-23 03:27:19 +09:00
YeonGyu-Kim
ad1cf92620 roadmap: canonical worked example of doctrine loop (#61–#63 sequence preserved for future claws) 2026-04-23 03:17:41 +09:00
YeonGyu-Kim
6a3913e278 roadmap: #160 SHIPPED — reserved-verb classification landed (cycle #63) 2026-04-23 03:16:34 +09:00
YeonGyu-Kim
b54eacaa6e roadmap: cycle-pattern doctrine — how violation → reframe → protocol loops create self-enforcing doctrine (from #61–#62) 2026-04-23 03:09:13 +09:00
YeonGyu-Kim
51cee23a27 roadmap: principle — integration bandwidth as constraint when queue is saturated (from #62 framing) 2026-04-23 03:06:22 +09:00
YeonGyu-Kim
35fee5ecde roadmap: #160 investigation update — verb classification table needed for clean fix 2026-04-23 03:04:50 +09:00
YeonGyu-Kim
f034b01733 roadmap: #160 filed — resume with positional args falls through to Prompt dispatch (#251 family) 2026-04-23 03:02:30 +09:00
YeonGyu-Kim
c4054d2fa3 roadmap: principle — backlog truthfulness is execution speed (from #60 framing) 2026-04-23 02:56:23 +09:00
YeonGyu-Kim
7bd91096a8 roadmap: #136 + #153b marked CLOSED — compact+json already correct, PATH docs comprehensive 2026-04-23 02:55:22 +09:00
YeonGyu-Kim
196fe6b493 roadmap: #136 marked CLOSED — compact+json dispatch already correct 2026-04-23 02:54:41 +09:00