Skip to content

docs(upstream): vet AI Hero course lessons across six decision lanes - #3008

Merged
kyle-sexton merged 23 commits into
mainfrom
claude/plan-mode-discussion-55kszx
Aug 18, 2026
Merged

docs(upstream): vet AI Hero course lessons across six decision lanes#3008
kyle-sexton merged 23 commits into
mainfrom
claude/plan-mode-discussion-55kszx

Conversation

@kyle-sexton

@kyle-sexton kyle-sexton commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

No linked issue

Summary

Closes out the six-lane AI Hero course vetting effort (issues #2899-#2904, all closed) from its original contract branch. Most of the effort's durable outcomes were consolidated onto main by the parallel session chain while this branch was in flight (PR #3001 landed the authoritative aihero-course.md incl. steering lanes; PR #2958 folded the teach comparison into the SSOT), so after merging main and honoring the mainline copy's supersession directive, this PR's net diff is deliberately small: the v1.2-map staleness correction plus the schema-conformance fixes from this PR's reviews, applied to the consolidated record.

Fix

Net diff (2 files):

  • docs/upstream/aihero-course.md: lane 4's two convergent no-change rows reclassified ADOPT to COVERED (the fixed schema ties ADOPT to a filed work item), the ADOPT-terms sub-form named in the schema section, and the intro invariant scoped to plain ADOPT rows so the two statements agree.
  • docs/upstream/mattpocock-skills-v12-map.md: correction block added (dated 2026-08-18, lane 6, matching the inline row notes); the "Claude-only private marketplace" characterization was stale (the repo is public, verified 2026-08-17), and the separate 2026-08-17 recheck at upstream HEAD 068b6e0 found the 35-skill inventory structurally intact.

Branch history context: the branch developed the six lanes' working slices (docs/topics/pocock-course-lanes/ incl. verbatim lesson sources, docs/topics/pocock-lane-1..6/ summaries) and pruned them per the contract-slice prune gate before PR; the SSOT annotations and the branch's own aihero-course.md were superseded by the mainline consolidation and resolved in the merge by taking main's copies, per the supersession directive written into the mainline record. The mainline copy also resolves the PLAN.md "pending amendment" it noted: this branch deletes the contract entirely, so no stale six-lane contract merges.

Coverage record (the "everything is represented" gate for the original six lessons): all 49 claim rows live in the consolidated docs/upstream/aihero-course.md on main (lanes 1-6), with the term-verdict table and the C1-C9 harness-claims verdicts; filed items #2955-#2957 (lane 1), #2971-#2973 (lane 2), #2995 (lane 3) proceed through the normal pipeline. Known-open cures, not blockers: the C5 queueing probe and C6/C9-positive second-pool probes need an interactive session.

Verification

  • markdownlint-cli2 and typos clean on the changed files (re-run after each review-fix commit, latest 84bea05a).
  • Net diff vs main touches only docs/upstream/ (no docs/topics/** additions; prune-gate requirement).
  • Review findings, all classified valid, fixed, replied to, and threads resolved: Codex finding 1 (re-fetchable basis) addressed by the mainline copy's provenance framing taken in the merge; Codex finding 2 (ADOPT schema conformance) fixed in fa2c65f1/8c252325; CI-review date inconsistency fixed in b91b769d; CI-review invariant contradiction fixed in 84bea05a. The CI review lane's final pass reports no new findings.
  • All six lane issues closed with acceptance boxes ticked.

Related

🤖 Generated with Claude Code

https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG

claude added 18 commits August 17, 2026 05:31
Six-lane structure, claim-ladder vetting standard, per-lane definition of
done, and course-source provenance home locked via /planning:interview;
rounds 2+ (ordering, dispatch model, session mechanics) still open.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
recheck-against-upstream vs mattpocock/skills HEAD 068b6e0: inventory
map verified intact (35 skills, mappings confirmed), no new release;
unreleased drift noted (invocation-reach invariant hardened via #878/
#880, diagnosing-bugs post-mortem step removed) for lane-6 bookkeeping.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
All nine interview questions decided: lane order, dispatch model,
cloud-durability mechanics, decision-matrix skill scope (evolve the
session-flow continuation router, suggest-by-default), and lane 4's
use-case boundary evaluation (session-chain handoff vs his crossing-
boundaries taxonomy). Register gate clean (9/9 answered, brief=ok).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
…tract

Six lane issues filed in locked run order; background harness-claims
research dispatch recorded with its memory-slice path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
Research gated clean, fresh-context verifier applied, C3 cured via the
shipped binary's min(1e5).max(1e6) validation schema. Durable verdict
table added so lanes 3-5 can cite verified claims (with corroboration
labels) even if the memory-tier evidence slice is gone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
Shared understanding confirmed; contract final. Next action recorded:
open lane 1 (#2899) in a fresh session.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
User-directed post-lock amendment: lanes run as a handoff/clear/resume
chain on this branch with dedicated context per lane; all six lanes
commit here and one PR ships at the very end (replaces per-lane
branches + PRs). Durable-spine and clean-stop discipline unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
…brief

planning:audit-answers (two fresh-context validators, rationale
withheld): Q3 challenged by both — claim-ladder bucket ii rewritten to
"instrumented zone readings + declared judgment-default bands" per
context-guard's own reader contract; Q6 challenged by one — lane 1 now
creates the aihero-course.md skeleton (fixed row schema, divergence-at-
re-fetch triggers), lane 6 consolidates. Editorial: six-lesson count,
run-order-only lane numbering, Q9 lane label, Q8 prune-gate + resume-
degradation obligations recorded; SSOT row-35 correction queued to
lane 6.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
…d summary

Creates docs/upstream/aihero-course.md (skeleton per audit amendment A2:
four-part row schema and divergence-at-re-fetch trigger form fixed at
creation) with lane 1's nine decision rows; cross-links it from the
mattpocock-skills SSOT; adds the lane summary slice.

Decisions: use-case UNION with routing signals (#2956), purpose argument
adopted as trailing free text (#2955), OS-temp placement and silent expiry
rejected (confirms the #1477 finding-4 verdict), do-not-duplicate rule
adopted, model invocation kept, 15-line minimalism rejected. New gap filed:
context-guard zone capture silent in cloud sessions (#2957).

Refs #2899.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
…router design

Lane 2 (#2900) decisions: ten provenance rows for the course
phase-boundaries lesson, the Q20-Q23 register (AFK edge adopt-modified,
informant-seam inputs, two-tier autonomy, eval and drift items), and the
lane summary. Work items filed: #2971 (router evolution), #2972 (router
evals), #2973 (reader-contract drift).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
The repo is public (the v1.2 map's "private marketplace" line is stale;
queued to lane 6). Course lesson text is memory-tier only, never
committed; provenance rows paraphrase and cite. Lesson sources for
lanes 1-5 recorded at their .work paths with the re-paste fallback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
…ision)

User authorized committing the AI Hero lesson texts (framing around his
MIT-licensed public skills): five attributed source files under
lessons/, numbered by lane run order, durable across containers and
pruned with the slice in the final PR. Contract constraint amended
accordingly; aihero-course.md rows still paraphrase and cite.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
Lanes 1-2 recorded CLOSED with their closing commits and filed items;
lane 3 marked NEXT (chain handoff written, unconsumed). Closing lane
sessions update their row in the closing commit so progress persists
across handoffs in this one file.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
…nd summary

Lane 3 (#2901) decisions, register Q24-Q30 under the user's standing
acceptance: compact-as-default rejected (fork-beats-compaction stands);
steered-compact-for-QA carve-out rejected with the marker's recorded
trigger field as the track-on-event observable; auto-compact stance
adopted convergent; primary/secondary-source terms routed to lane 6
with the transcript-lossless refinement; C5 recorded-unknown, C6 keeps
its single-pool label; Boris 63-64 cited as vendored nuance. Twelve
rows appended, summary written, roadmap row updated. Filed: #2995.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
Lane 4 (#2902) decisions, register Q31-Q35 under the user's restated
acceptance: asset-rush critique adopted as convergent (embodied twice:
interview-first Brief plus the plan skill's own decision gates); lock/
auto-synthesize audited as a licensed exception (auto-guard, STOP-on-
gap, user-invocation-as-confirmation, audit-answers as the producer-
not-critic control); design concept already embodied by the general-
domain shared-understanding terminal; walkthrough graded separately
per C7-C9 (stale /plan demo rejected, critique unaffected). Nine rows
appended, summary written, roadmap updated. No work items required.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
Lane 5 (#2903) register Q36-Q37 under the user's restated acceptance:
fully confirmatory, as the contract predicted. His current grilling/
grill-me texts (live clone, HEAD 068b6e0) match the SSOT baseline; the
course lesson adds only the loop framing (covered by workflow stages +
continuation router, no term adopted per vocabulary parsimony) and
posture lines (covered, ours stronger via the register gate and the
wayfind route). Nine rows appended, summary written, roadmap updated.
No work items. Lane 6 is the final lane.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
Lane 6 (#2904), register Q38-Q40: coverage index written into the
contract (pointer index over the 49 verified claim rows plus outside-
the-rows accounting); SSOT row-35 A1 correction applied; invocation-
reach and diagnosing-bugs TRACK rows annotated with the 2026-08-17
unreleased-drift evidence; v12-map private-marketplace staleness
corrected; seven dictionary-term verdicts recorded (central glossary
deliberately deferred: none exists, placement is the user's call);
teach branch confirmed in-flight pointer-only. Roadmap: ALL LANES
CLOSED. Remaining: the single PR with the prune commit, on the user's
go-ahead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
Removes the effort's contract, lesson sources, and lane summaries per
the contract-slice prune gate: durable outcomes live in
docs/upstream/aihero-course.md, the SSOT annotations, the six closed
issues (#2899-#2904), and the filed items; the coverage index and lane
records are carried in the PR body.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eac1af86de

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/upstream/aihero-course.md
Comment thread docs/upstream/aihero-course.md Outdated
claude added 3 commits August 18, 2026 12:17
…verdicts

Codex review on #3008, both findings valid: (1) row bases cited pruned
docs/topics paths; a new "Basis and re-fetch" section names the stable
course source (AI Hero, aihero.dev) and the deliberate no-snapshot
decision, and every lane basis now cites the lesson by title; (2) lane
4's two convergent no-change rows carried ADOPT without filed items,
violating the fixed schema; reclassified to COVERED (convergent) and
an ADOPT-terms sub-form note added for lane 3's vocabulary row. Also
normalizes em dashes introduced by this branch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
…ussion-55kszx

# Conflicts:
#	docs/upstream/aihero-course.md
#	docs/upstream/mattpocock-skills.md
…d record

Carries Codex finding 2 from PR #3008 onto the authoritative mainline
copy taken in the merge: lane 4's two convergent no-change rows
reclassified ADOPT to COVERED (the fixed schema ties ADOPT to a filed
work item), and the ADOPT-terms sub-form named in the schema section.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
@claude

claude Bot commented Aug 18, 2026

Copy link
Copy Markdown

Claude finished @kyle-sexton's task in 3m 4s —— View job


🔍 CI Code Review

  • Gather context (PR diff, changed files, CLAUDE.md/AGENTS.md, prior Codex review)
  • Apply skip gate check — not skipped (open, non-draft, this head 8c25232 not previously reviewed by this lane)
  • Review changed files against /review:code-review criteria
  • Post findings

Scope reviewed: the diff between origin/main and HEAD (8c25232) — 2 files, +13/-3, matching the PR's stated changed-file set. Most of this PR's substance (the aihero-course.md provenance record, 49 rows) is already on main; this head's actual delta is the two review-fix commits (fa2c65f, 8c25232) addressing the earlier Codex review.

What the diff does:

  • docs/upstream/aihero-course.md: adds the ADOPT terms sub-form to the fixed row schema, and reclassifies two lane-4 rows from ADOPT to COVERED (convergent, no work item needed) — correctly resolving Codex's "already-implemented behavior classified as ADOPT" finding.
  • docs/upstream/mattpocock-skills-v12-map.md: adds a correction blockquote noting the repo is public, not private.

Both changes look like accurate, well-scoped fixes for the two prior Codex findings, and I didn't find any other ADOPT rows in the file lacking a filed work item or a valid ADOPT terms justification.

1 finding posted inline (docs/upstream/mattpocock-skills-v12-map.md, lines 3-9): the new correction blockquote dates itself 2026-08-17, but the two rows it points at (already on main) say the fix landed "2026-08-18 by lane 6," and aihero-course.md's own lane-6 header reads "decided 2026-08-18." 2026-08-17 looks like it's conflating the correction with the separate inventory recheck that genuinely did happen that day. Since this document's whole mechanism is precise as-of dating driving recheck triggers, worth reconciling the date. Fix this →

Comment thread docs/upstream/mattpocock-skills-v12-map.md Outdated
@github-actions

github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown

Claude has reviewed this PR 3 times. The lane skips further automatic reviews after 5; deleting this comment resets the count.

The correction blockquote is a 2026-08-18 lane-6 event, matching the
inline row notes; 2026-08-17 was the repo-public verification and the
separate inventory recheck, now each dated explicitly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
@claude

claude Bot commented Aug 18, 2026

Copy link
Copy Markdown

Claude finished @kyle-sexton's task in 3m 11s —— View job


🔍 CI Code Review

  • Gather context (PR diff, changed files, CLAUDE.md/AGENTS.md, prior reviews)
  • Apply skip gate check — not skipped (open, non-draft, new head b91b769 not previously reviewed by this lane)
  • Review changed files against /review:code-review criteria
  • Post findings

Scope reviewed: git diff origin/main...HEAD at b91b769 — 2 files, +14/-3, matching the PR's stated diff. This head adds one commit (b91b769) on top of the previously-reviewed 8c25232, fixing the date inconsistency this lane flagged in its prior review.

What changed since the last review:

  • docs/upstream/mattpocock-skills-v12-map.md: the correction blockquote's date changed from 2026-08-17 to 2026-08-18, now matching the two row-level notes it references ("corrected 2026-08-18 by lane 6", "lane 6 correction, 2026-08-18") and aihero-course.md's own ## Term adoption (lane 6, decided 2026-08-18) header. The blockquote now also separately dates the independent 35-skill inventory recheck to 2026-08-17. Confirmed consistent — prior finding resolved.
  • docs/upstream/aihero-course.md: unchanged from the previous review pass (schema's ADOPT terms sub-form addition, two lane-4 rows reclassified ADOPTCOVERED).

1 new finding posted inline (docs/upstream/aihero-course.md, lines 48-50): the newly-added ADOPT terms sub-form is defined as not requiring a filed work item ("rather than a filed work item"), but line 20 of the same document states unconditionally that "every ADOPT row points at a filed work item" — the exact invariant this PR's own Codex-driven fix was reinforcing elsewhere in this diff. Minor, but worth reconciling since this document's whole mechanism depends on precise, non-contradictory schema statements. Fix this →

Note: could not run markdownlint-cli2/typos myself (no network access to fetch the toolchain in this sandbox) — the PR body's claim that both are clean on the changed files is author-claimed and unverified by this review.

Comment thread docs/upstream/aihero-course.md
Review finding on #3008: the intro's unconditional "every ADOPT row
points at a filed work item" contradicted the ADOPT-terms sub-form
added below it; the intro now scopes the invariant and points at the
sub-form's execution path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LiiQ2eJ6mHqTPsNfTGJzCG
@claude

claude Bot commented Aug 18, 2026

Copy link
Copy Markdown

Claude finished @kyle-sexton's task in 1m 14s —— View job


🔍 CI Code Review

  • Gather context (PR diff, changed files, CLAUDE.md/AGENTS.md, prior reviews)
  • Apply skip gate check — not skipped (open, non-draft, new head 84bea05 not previously reviewed by this lane)
  • Review changed files against /review:code-review criteria
  • Post findings

Scope reviewed: git diff origin/main...HEAD at 84bea05 — 2 files, +17/-5, matching the PR's stated diff. This head adds one commit (84bea05) on top of the previously-reviewed b91b769.

What changed since the last review: docs/upstream/aihero-course.md line 20's invariant statement — "every ADOPT row points at a filed work item" — is now scoped to "every plain ADOPT row," with a parenthetical naming the ADOPT terms sub-form and pointing at its definition in the row-schema section below. This is exactly the fix requested by this lane's prior finding (permalink): the invariant statement and the sub-form definition now read consistently instead of contradicting each other. Resolved.

docs/upstream/mattpocock-skills-v12-map.md is unchanged from the previous pass (its date-inconsistency finding was already resolved at b91b769).

No new findings. Both Codex-review-driven fixes and both of this lane's own prior findings are now addressed and internally consistent with the rest of the document.

Note: could not run markdownlint-cli2/typos myself (no network access to fetch the toolchain in this sandbox) — the PR body's claim that both are clean on the changed files is author-claimed and unverified by this review.

@kyle-sexton
kyle-sexton merged commit dedc2b0 into main Aug 18, 2026
50 checks passed
@kyle-sexton
kyle-sexton deleted the claude/plan-mode-discussion-55kszx branch August 18, 2026 20:12
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.

2 participants