Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 0 additions & 24 deletions .claude/commands/deliver.md

This file was deleted.

11 changes: 11 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,17 @@
]
}
],
"SubagentStop": [
{
"hooks": [
{
"type": "command",
"command": "node .claude/helpers/hook-handler.cjs post-task || true",
"timeout": 10
}
]
}
],
"SessionEnd": [
{
"hooks": [
Expand Down
15 changes: 15 additions & 0 deletions .okf/log.md
Original file line number Diff line number Diff line change
Expand Up @@ -2547,3 +2547,18 @@ jt-gotcha-cli-semantic-search-broken: CLI semantic empty without ruvector;
global HNSW misses CLI-written vectors until server restart (scoped search
finds them); sql.js whole-image flushes resurrect external SQL deletes -
mutate only via MCP/CLI, never raw SQL while the server runs.

## 2026-08-21 - ADR-0005 extraction shipped: jt-delivery plugin v0.1.0

jetthoughts/claude-plugins created (public - the contract was already public
in this repo); plugin jt-delivery v0.1.0: contract skill (genericized par.1-9),
/deliver, async-first skill, five core author/verifier agents. Pre-publish
review: 1 blocking + 5 minor, all fixed - notably a verifier-briefing
regression (the skill had reverted to blind-briefing; restored
reasoning-handover + one-independent-measurement per the verifiers-need-the-
reasoning correction). Marketplace format gotchas: owner object required;
plugin source must be a plain string path, not the {source,path} object some
cached marketplaces use. This repo's delivery prompt became a 241-line repo
binding (was 662): SHIP gate matrix, canon/OKF/memory contract additions,
reviewer routing, Appendices A-C; generic par.1-9 deleted per the ADR's
net-deletion rule; repo /deliver command deleted (plugin provides it).
13 changes: 8 additions & 5 deletions .okf/workflows/autonomous-loops.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,14 @@ gate rules that would otherwise decay. The 1a.4 prompt carried "never cite
`[snap_diff] N screenshots compared` count", and "`--strict` EXITS 1 by design",
and none of those was violated across the whole run.

# The delivery prompt that wraps this

`docs/workflows/autonomous-delivery-prompt.md` is the operating prompt for
running a goal unattended: DISCOVER -> DECIDE -> BUILD -> VERIFY -> 4-EYES ->
SHIP -> LEARN, WIP=1, with the evidence ladder and the review-panel rules.
# The delivery contract that wraps this

The `jt-delivery:contract` skill (plugin `jt-delivery@jetthoughts`, per
ADR-0005) is the operating contract for running a goal unattended:
DISCOVER -> DECIDE -> BUILD -> VERIFY -> 4-EYES -> SHIP -> LEARN, WIP=1,
with the evidence ladder and the review-panel rules. The repo-specific
bindings (gate matrix, canon, reviewer routing, Appendices) live in
`docs/workflows/autonomous-delivery-prompt.md`.

It is the complement to this concept rather than a competitor. This file says
what a self-iterating LOOP can and cannot do; that file says what a delivery
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Session start: always read `@docs/workflows/BASE_HANDBOOK.md` and `@docs/workflo

**Async-first communication (SOP for ALL agents):** written, discoverable artifacts are the default for every decision, finding, status change, and handoff — sync interaction is the exception and its outcome gets written back same-day. Full rules + canonical surfaces table: `.agents/skills/async-first-communication/SKILL.md`. A task is not done until its state is readable asynchronously.

**Four eyes on every stage, author != verifier (SOP for ALL agents):** the point is agents collaborating to find the TRUTH — a single agent cannot find its own blind spot, because it checks the thing it MEANT to build. Every change is **written by one sub-agent and verified by a different one**; the author never produces the evidence for its own claim. The review lands before the artifact leaves the workshop: a plan is peer-reviewed BEFORE the user is asked, a diff BEFORE commit, a finding is reproduced before it is reported, a measurement re-derived before it is quoted. Brief reviewers with the goal and the artifact, never your conclusions; ask for measurements, not verdicts. Routing: internal sub-agents for every per-stage review, `/codex:review` ONCE at the final verify before merge for USER-FACING changes (it is slow — never in the inner loop); docs-only and instruction-layer changes ship on internal review + CI and apply its findings as a follow-up. No reviewer tooling in this runtime? Fall back agent → external → peer session → human, and mark the change UNREVIEWED if none is reachable. Full protocol: `docs/workflows/autonomous-delivery-prompt.md`.
**Four eyes on every stage, author != verifier (SOP for ALL agents):** the point is agents collaborating to find the TRUTH — a single agent cannot find its own blind spot, because it checks the thing it MEANT to build. Every change is **written by one sub-agent and verified by a different one**; the author never produces the evidence for its own claim. The review lands before the artifact leaves the workshop: a plan is peer-reviewed BEFORE the user is asked, a diff BEFORE commit, a finding is reproduced before it is reported, a measurement re-derived before it is quoted. Brief reviewers with the goal and the artifact, never your conclusions; ask for measurements, not verdicts. Routing: internal sub-agents for every per-stage review, `/codex:review` ONCE at the final verify before merge for USER-FACING changes (it is slow — never in the inner loop); docs-only and instruction-layer changes ship on internal review + CI and apply its findings as a follow-up. No reviewer tooling in this runtime? Fall back agent → external → peer session → human, and mark the change UNREVIEWED if none is reachable. Full protocol: the `jt-delivery:contract` skill (plugin `jt-delivery@jetthoughts`); repo bindings: `docs/workflows/autonomous-delivery-prompt.md`.

**Session memory (ruflo-first, SOP for ALL agents):** search ruflo memory (`mcp__ruflo__memory_search`, MCP path) before non-obvious decisions; store decisions/corrections via `mcp__ruflo__memory_store` as they land. Details + prefix conventions: `CLAUDE.md` §Memory.

Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ Operational knowledge lives in `.okf/` (`build/`, `content/`, `design/`, `workfl

## 🚨 Behavioral Constraints

- **Feature/idea intake**: `/deliver <idea>` (or §1a of `docs/workflows/autonomous-delivery-prompt.md`) — triage → GOAL → author≠verifier orchestration under the contract.
- **Feature/idea intake**: `/deliver <idea>` (from the `jt-delivery` plugin) — triage → GOAL → author≠verifier orchestration per the `jt-delivery:contract` skill §1a; repo-specific bindings (gates, canon, reviewer routing): `docs/workflows/autonomous-delivery-prompt.md`.
- **Manager triage (Paul 2026-08-01)**: Paul adds requests mid-flight; triage each against the active plan — now / sequenced / backlog / groom-first — and report the verdict in one line so he can override. Deferring is a decision; interrupting a gated pipeline for a non-critical request is the failure. **Autonomy grant**: handle sprints end-to-end; for big/critical calls run a 2-4 agent voting panel and make the call (split + irreversible → hold for Paul). Record every autonomous call with its evidence. Paul's explicit words override any panel.
- **Agent 4-eyes on EVERY stage, author ≠ verifier (Paul 2026-08-20, widened 2026-08-21)**: every change is written by one agent and verified by a different one; review lands BEFORE the artifact leaves the workshop (plan before Paul sees it, diff before commit, finding before reported, measurement before quoted). Brief reviewers with goal + artifact, never conclusions; ask for measurements, not verdicts. Internal sub-agents per stage; `/codex:review` once at the merge gate for user-facing changes. Full protocol: `docs/workflows/autonomous-delivery-prompt.md` §5. (Evidence: 2026-08-20/21 — reviewers caught a CSS-breaking defect, a fabricated quote, and 11 findings on the delivery prompt itself, all after author self-review.)
- **Agent 4-eyes on EVERY stage, author ≠ verifier (Paul 2026-08-20, widened 2026-08-21)**: every change is written by one agent and verified by a different one; review lands BEFORE the artifact leaves the workshop (plan before Paul sees it, diff before commit, finding before reported, measurement before quoted). Brief reviewers with goal + artifact, never conclusions; ask for measurements, not verdicts. Internal sub-agents per stage; `/codex:review` once at the merge gate for user-facing changes. Full protocol: `jt-delivery:contract` skill §5; repo routing: `docs/workflows/autonomous-delivery-prompt.md`. (Evidence: 2026-08-20/21 — reviewers caught a CSS-breaking defect, a fabricated quote, and 11 findings on the delivery prompt itself, all after author self-review.)
- **Async-first (MANDATORY)**: written, discoverable artifacts for every decision, finding, and handoff; sync is the exception, written back same-day. A task is not done until a cold session can read its state with zero questions. Canonical surfaces: `.agents/skills/async-first-communication/SKILL.md`; same SOP in `AGENTS.md`.
- **Company facts have a canon**: check `.okf/content/claims-canon.md` before publishing any number (founding 2008-09-01; tenure from `site.Params.foundingYear`; "4.8/5 on Clutch" linked, NO review count; founder 22+ vs company 18+). A number with no in-repo source is a defect. Correcting one means sweeping the instruction layer too — `PRODUCT.md`, `docs/business/`, outreach kits have re-introduced bad canon before (4 of 8 published figures were wrong on 2026-08-14).
- **Text ratchets read RENDERED output, not source**: `marketing_copy_test` globs source and missed three rendered-only defects on 2026-08-14 (unglobbed partial, line-wrapped banned phrase, composed nested `<main>`). Queued: `docs/20-29-testing-qa/20.10` §3b P0-4.
Expand Down
2 changes: 1 addition & 1 deletion docs/adr/0005-reusable-ai-instruction-layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**ADR-0005**
**Date:** 2026-08-21
**Status:** Accepted (2026-08-21 — direction set by Paul's reuse request; mechanism chosen per alternatives analysis; reversible until the extraction sprint ships)
**Status:** Accepted (2026-08-21 — direction set by Paul's reuse request; mechanism chosen per alternatives analysis; extraction shipped same day: plugin v0.1.0 + migration PR)

## Title

Expand Down
Loading