Commit Graph

1151 Commits

Author SHA1 Message Date
Trevin Chow 7d4881c80a Address PR review feedback (#1369)
- Markup is the image-generation fallback only when markup can carry the
  dimension honestly. A photographic or painterly direction authored as
  markup fakes exactly what is being judged, contradicting the organizing
  rule; that path now reports the missing capability instead.
- The recap carries the prototype path only when the run left one behind.
  An overlay run undoes its edits and leaves nothing, so the unconditional
  wording handed the next skill a dangling reference. Fixed in SKILL.md and
  in the matching write-back sentence this PR added.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 15:54:49 -07:00
Trevin Chow 4cd10ddc9d docs(plans): add the prototype medium and modality plan
The implementation-ready unified plan this branch executes, kept as the
decision record for why the routing predicate was consolidated and why
ownership stops at the skill boundary.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 15:43:11 -07:00
Trevin Chow bff2718a81 fix(review): close the routing double-offer and the guard that passed on its own negation
Code review found five defects the earlier passes missed.

The Phase 2 approach step offered ce-prototype for a Rule 7 decision and then
independently offered the visual probe, because its second sentence had lost
the not-Rule-7 conjunct — two incompatible routes for one decision.

The web-default guard matched "default", "substrate" and "web" anywhere in the
body, so "Default substrate is the product stack, not the web, whatever the
product is written in" satisfied every assertion while reversing the rule.
Bound the checks to the sentence that states the rule and reject a negated or
product-stack-first form. Verified: the reversing string now fails the guard.

preview.md still carried "a question that has to be used to be decided" — a
live paraphrase of the retired predicate that the exact-string guard cannot
see. The substrate paragraph authorized a non-browser medium and then closed
with an unconditional "do not introduce another display mechanism", negating
the branch it had just permitted. And CONCEPTS.md promised the artifact
survives the run where the overlay path says nothing survives.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 15:42:10 -07:00
Trevin Chow dbcac32d0f test(ce-prototype): make the spine guard fail loudly instead of vacuously
slice(start, -1) does not throw or return empty — it returns everything up to
the last character. So a missing "## " heading silently widened the spine to
the whole document and turned the placement assertion into a presence check
the neighbouring assertion already covered. Proven on a synthetic SKILL.md
with the rule buried under a heading: the test passed green.

Guard the heading index explicitly, and take the frontmatter boundary from the
shipped parseFrontmatter helper rather than re-deriving it with two coupled
magic offsets that also broke under a CRLF checkout. Pin the derivation clause
to the spine as well, matching R1, and correct one failure message that said
"spine" while its assertion scanned the whole body.

Both tightened pins were re-verified to fail against the pre-change bytes.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 15:09:57 -07:00
Trevin Chow 07195526bb docs(ce-prototype): describe the shipped boundary, not the drive-only one
The glossary and the four user-facing surfaces still defined the skill by
driving: CONCEPTS.md called a visual probe "not something you click through
to feel an interaction", and the skill page keyed its TL;DR on a decision that
"has to be used, not inspected". Both describe the boundary this change
retired.

Reconcile all five with what shipped — experience by driving or by seeing at
real finish, one organizing rule governing modality/fidelity/medium, the
sketch-insufficiency routing test, throwaway as unmaintained rather than
discarded, and the web default substrate.

Section structure and heading numbering are unchanged.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 14:59:51 -07:00
Trevin Chow 6d0b3b5e09 test(ce-prototype): pin the routing test and reject the retired predicates
Nothing guarded the invariant this change establishes, which is why the
drive-versus-look-at predicate spread to nine statements across three skills
before anyone noticed it disagreed with the fidelity test beside it.

Pin the organizing rule and the web-default floor in ce-prototype's spine,
and the sketch half plus the unravel-cost precondition in Interaction Rule 7.
Add a negative assertion that no skill file reintroduces any of the four
retired wordings.

The negative assertion matches exact phrases rather than a semantic pattern
on purpose: ce-prototype's spine deliberately keeps a contrast pair reading
"settled by driving it, so a screen that only looks like the product does not
answer it", which describes the dimension under test rather than a route. A
looser pattern fires on it.

Every new assertion was verified to fail against the pre-change bytes at
a27aa2af; the negative assertion finds five offender files there and none on
this tree.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 14:53:02 -07:00
Trevin Chow ecca332fb7 fix(ce-plan): gate the prototype option on the sketch test
Both post-plan handoff menus gated the ce-prototype option on a question that
"requires use, not inspection", so a plan whose only open question was a
visual treatment choice had that option filtered out — at the entry point
people most often reach the skill from.

Ownership stops at the skill boundary: a skill cannot reference another
skill's files and a ce-plan run never loads ce-brainstorm's spine, so the
menu states the test itself rather than citing Rule 7 across skills.
plan-handoff.md cites the menu, which it can resolve.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 12:05:45 -07:00
Trevin Chow 7d1ca7685a fix(ce-brainstorm): make Interaction Rule 7 the single routing owner
The skill stated when ce-prototype applies at seven places using two
incompatible tests. visual-probes.md routed on fidelity in its Trigger and on
drive-versus-look-at four lines later in its gate, while claiming the second
restated the first — so a question settled by seeing at real finish had two
conflicting routes and a false pointer between them.

Rule 7 now states the test once and every other site cites it: the gate, Rule
4's exception, the approach-comparison route, both visual-probes sites, and
both handoff-menu statements. The test is unravel cost AND sketch
insufficiency, with finish and motion named as dimensions a rough sketch
strips by definition. Unravel cost stays a precondition so a cheap-to-reverse
decision does not escalate however visual it is, and the routine-UI exclusion
gains its visual analogue.

The gate keeps its non-firing branch — deleting that clause wholesale would
have made it fire on decisions routed straight to prototype, the wasted round
this change exists to remove.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 12:05:13 -07:00
Trevin Chow 99d9165538 fix(ce-prototype): trigger on decisions settled by seeing
The description excluded "look at a sketch" outright, so the skill would not
activate on a question whose dimension is visual — exactly the case the
widened boundary now covers. Activation and execution fail independently: a
correct body is useless if the skill never runs.

Key the trigger on whether a cheap sketch can settle the question rather than
on whether the user drives the artifact, and keep the adjacent negatives that
send rough probes, scoping work, polish, and real implementation elsewhere.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 11:58:06 -07:00
Trevin Chow 0802b70664 fix(ce-prototype): derive modality, fidelity, and medium from one rule
The skill separated size from finish correctly but drew its own boundary on
the wrong axis: it was worded around interaction throughout, so a question
settled by seeing at real finish had nowhere to go. The cheap visual-probe
tier refuses those as too polished; this skill refused them as look-at.

Elevate "do not fake the dimension being tested" into the spine and derive
modality, fidelity, and medium from it, absorbing the four competing
statements rather than qualifying them. Add the web-default floor: web is
the substrate whatever the product is written in, yielding only when the
user names a technology or the dimension cannot be rendered in a browser
without faking it.

Throwaway now means unmaintained and unshipped rather than discarded — the
prototype stays as a reference for the implementation that follows, on a
best-effort basis, with the overlay path exempt because those edits are
undone. A recap with no Product Contract to write back to is a complete
outcome, not a degraded one.

Claude-Session: https://claude.ai/code/session_01KzLbr589npfw9AJezV3mwv
2026-08-13 11:57:40 -07:00
Trevin Chow a27aa2afa2 feat(ce-prototype): add the experience prototype skill (#1363) 2026-08-13 01:31:18 -07:00
allen lee 05f3b798b0 fix(planning): replace daily sequence numbers in artifact filenames (#1362)
Co-authored-by: Allen Lee <allenwlee@users.noreply.github.com>
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-08-12 21:27:52 -07:00
Trevin Chow 5ebc22dbd9 fix(config): cascade ordinary keys across repo yaml layers (#1360) 2026-08-12 15:00:07 -07:00
Kaitian Xie 8d3444ca8c feat(ce-compound): recognize oh-my-pi (omp) session history (#1333)
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-08-12 12:45:35 -07:00
Trevin Chow 106cd521c2 feat(omp): add native marketplace and skill support (#1358)
Co-authored-by: Kaitian Xie <caelaxie@icloud.com>
2026-08-12 11:30:04 -07:00
Trevin Chow e36ddb8cbd fix(ce-ideate): scale the run with the ask, and slim the always-loaded body (#1357) 2026-08-12 10:57:01 -07:00
Trevin Chow fb440c6e14 fix(planning): make ce-plan produce complete Product Contracts (#1359) 2026-08-12 15:09:13 +00:00
Trevin Chow 071b08ea7d fix(skills): slim four skills and restore load-bearing routing (#1356) 2026-08-11 15:58:12 -07:00
Trevin Chow 303c70b528 fix(ce-work): require review receipt or explicit skip before shipping (#1355) 2026-08-11 15:53:18 -07:00
Trevin Chow d344f7f6a7 fix(ce-babysit-pr): bind readiness to current base (#1353) 2026-08-10 21:54:51 +00:00
github-actions[bot] 0a2957852e chore: release main (#1340)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
compound-engineering-v3.21.4
2026-08-06 00:59:59 -07:00
Tai Hartman 53f7b9af3a fix(cross-model): send grok peers the prompt verbatim on read-only routes (#1339) 2026-08-06 00:54:46 -07:00
Trevin Chow 265127996a fix(ce-commit-push-pr): construct retrospective stacks (#1338) 2026-08-06 00:51:39 -07:00
github-actions[bot] bbc69d2ef2 chore: release main (#1337)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
compound-engineering-v3.21.3
2026-08-05 13:38:45 -07:00
Trevin Chow 1a58b4a691 fix(ce-babysit-pr): own managed stacks with postures and opt-in ship (#1331) 2026-08-05 13:28:24 -07:00
Trevin Chow 6d60b7448b fix(ce-work): keep worker contexts scoped to one unit (#1336) 2026-08-05 13:24:10 -07:00
Trevin Chow 87531aeecc docs(readme): explain portable subagent workflows (#1334) 2026-08-05 10:11:34 -07:00
github-actions[bot] 249f68cbc1 chore: release main (#1326) compound-engineering-v3.21.2 2026-08-04 23:04:27 -07:00
Trevin Chow 71a9714aee fix(ce-commit): lean skill for stronger models, keep load-bearing protocol (#1330) 2026-08-04 21:36:39 -07:00
Trevin Chow 025474fa19 fix(ce-commit-push-pr): elevate multi-PR descriptions and slim skill prose (#1329) 2026-08-04 20:58:13 -07:00
Tai Hartman 75695be60f fix(cross-model): read grok's structuredOutput and unwrap .text reviews (#1325)
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-08-04 17:40:06 -07:00
Trevin Chow a44f1f9e29 fix(ce-commit-push-pr): require babysit handoff ownership (#1328) 2026-08-04 17:08:59 -07:00
Anishek Kamal a3a14587a5 fix(ce-babysit-pr): stop reactivating handled comments on bot self-edits (#1322)
Co-authored-by: Claude Code <noreply@anthropic.com>
2026-08-04 16:01:45 -07:00
Anishek Kamal 74c8388c10 fix(ce-sweep): open state files with explicit UTF-8 encoding (#1321)
Co-authored-by: Claude Code <noreply@anthropic.com>
2026-08-04 15:13:50 -07:00
Trevin Chow f8f1a207a2 fix(ce-doc-review): keep decision context visible for interactive choices (#1324) 2026-08-04 13:19:25 -07:00
github-actions[bot] 6a2a0f9940 chore: release main (#1295) compound-engineering-v3.21.1 2026-08-03 23:27:26 -07:00
Trevin Chow 4a47a2e0ae fix(ce-handoff): tighten create-body status, pointers, and traps (#1319) 2026-08-02 23:11:31 -07:00
johnzupancic 7f1b981c46 docs(codex): correct app marketplace instructions (#1299) 2026-08-02 16:40:41 -07:00
Trevin Chow 56e34aca41 docs(solutions): record the context.mjs exit-and-revert episode (#1315) 2026-08-02 16:37:36 -07:00
Trevin Chow 4b93690c71 fix(ce-explain): define an outcome for non-capacity scout dispatch failure (#1316) 2026-08-02 16:36:15 -07:00
Trevin Chow fce88ae25b fix(simplify-code): restore context.mjs dispatch setup (#1313) 2026-08-02 14:21:05 -07:00
Trevin Chow e84de89ef5 fix(simplify-code): improve cleanup with a smaller prompt (#1311) 2026-08-02 13:12:29 -07:00
Trevin Chow a5cd949c50 fix(ce-compound-refresh): rewrite SKILL.md around falsifiable gates (#1308) 2026-08-01 16:45:19 -07:00
Nathan Vale 82e6ae04b4 fix(ce-work): probe ignored snapshot capability before dispatch (#1302) 2026-08-01 14:28:04 -07:00
Trevin Chow c23acfb73c fix(dispatch): harden skill-context directive delivery (#1307) 2026-08-01 13:04:02 -07:00
dev_Hakaze 1e90e0c867 fix(scratch): honor TMPDIR for per-run temp files (#1305) 2026-08-01 10:04:45 -07:00
Trevin Chow bed74b2ea1 fix(ce-babysit-pr): drain review while CI awaits approval (#1297) 2026-07-31 14:52:35 -07:00
Som Samantray 5788604522 fix(peer-job-runner): prefer Git Bash over WSL on native Windows (#1292)
Co-authored-by: SomSamantray <>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-07-31 14:50:27 -07:00
Som Samantray fea76d4396 fix: rename mode:headless to mode:non-interactive (#475) (#1291)
Co-authored-by: SomSamantray <>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-07-31 13:21:22 -07:00
Trevin Chow 5fe350523c fix(ce-handoff): stop resume from inventing fake choice menus (#1296) 2026-07-31 13:08:02 -07:00