Skip to content

epic: Fable 5 parity — post-#100 verification findings & follow-ups #196

Closed

Description

@OGtwelve

Why

Epic #100 ported the Claude Code Fable 5 harness to aitm (29 children, all merged, shipped in v0.0.23). This epic tracks a full post-merge verification pass of that work — behavioral probes of every compat primitive against the real harness, a four-part component audit against the decomposition, and seven live aitm start runs on sandbox repos — and the defects and parity gaps it surfaced.

Headline: the ported surface is broad and mostly faithful, and all eight second-pass runtime-failure classes (#122–#129) are closed in code. But two P0 bugs share one root cause — ai@6's onStepFinish/prepareStep expose response.messages as a cumulative list, not a per-step delta, and two consumers misread it — which silently guts the context-management arc in production. Several P1 gaps mean a few #100 checkboxes shipped only the library half (Skills, background execution).

Verification method and full findings (evidence, file:line, live-run logs) are recorded outside the tracker; each item below is independently reproduced. Baseline at time of audit: typecheck + lint clean, aitm 902 / compat 250 node tests green.

P0 — context-management arc broken in production

P1 — behavior gaps / library-only deliveries

P2 — filed follow-ups

P2/P3 — tracked, not filed (deliberately)

Real but low-value, covered by another item, or needing a design decision before a ticket is worthwhile:

P3 cosmetic (report-only, models tolerate — no ticket planned): Read line numbers are N\t rather than right-aligned cat -n padding; env-block labels differ slightly ("Working directory" vs "Primary working directory"); zod tool schemas silently strip unknown input keys (a model emitting a Claude-Code-only param gets the default path silently).

Already-open, pre-audit follow-ups (not part of this pass, listed for context)

#131 (run Logger into loop), #132 (typecheck:tests gate), #139 (step-timeout dedup), #141 (reminder contract for ci-fix/take-over), #150 (cache_control vs routing), #154 (bashOutput partial-line buffer), #168 (usage ledger latency+retry).

Out of scope (verified correct, no action)

The audit re-checked every deliberate scope-out in #100 against its issue text and confirmed the rationale holds: sandboxed bash + dangerouslyDisableSandbox (no-containers stance), interactive flow-control tools (B11), scheduling/wakeup daemon surfaces (B12), Artifact/ReportFindings (B13 — PR-prose/JSONL remaps verified present), MCP server surface, image/PDF/notebook Read rendering, model-facing task registry (B5), Workflow JS orchestration (B10 — stage machine + PlanGraph fill the slot).

Priority order

Fix P0 first (#175, #176 — small changes, revive the whole context arc), then the XS/S P1 bugs (#177, #178, #185), then #179/#180, then the library-only wirings (#181, #182). P2 as capacity allows; docs (#183) is cheap and high-visibility.

Activity

  1. 3 remaining items

  2. added 2 commits that reference this issue on Jul 24, 2026
  3. OGtwelve commented on Jul 24, 2026

    @OGtwelve
    ContributorAuthor

    Status update — 2026-07-24

    Closed since the audit was filed: #179 (take-over rules/hooks/usage parity), #186 (identity + safety-preamble block), #194 (.claude/agents as read-only spawnable — landed differently via the specialist registry), and pre-audit follow-up #141 (reminder channel now reaches the CI-fix worker + take-over reviewer). Checkboxes above updated.

    Remaining, grouped

    P1 parity — advertised-but-unwired (the substantive gaps):

    P2 follow-ups:

    Pre-audit follow-ups still open:

    Everything in the "tracked, not filed" and "out of scope" sections below still holds.

  4. added
    size/1h~1 hour — small, 2-5 files
    and removed
    size/8h~1 day — large refactor (cap)
    on Jul 24, 2026
  5. OGtwelve commented on Aug 3, 2026

    @OGtwelve
    ContributorAuthor

    All 21 items are landed — closing candidates and what outlived the epic

    The five boxes still open (#181, #182, #184, #192, #193) were all closed on the code side; the checklist just was never ticked behind them. Done now, so the list reads 21/21.

    Landed most recently:

    Item PR
    #181 Skills wiring #331
    #182 background execution #329
    #192 lazy nested CLAUDE.md #335
    #193 deferred MCP loading → CI-fix + Planner #334

    Two things this epic produced that outlive it, both filed rather than left implicit:

    Nothing else from the #100 verification pass is outstanding. This can close whenever you're happy with the two follow-ups standing on their own.

  6. OGtwelve commented on Aug 3, 2026

    @OGtwelve
    ContributorAuthor

    Closing: 21/21 items landed and the checklist is ticked. The two things this epic produced that outlive it — #333 (deferred loading for the remaining roles, plus the per-agent tool-record seam #192's review turned up) and #308 (benchmark exec, deferred on sandboxing grounds) — stand on their own issues and do not need the umbrella.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions