Commit Graph
144 Commits
Author SHA1 Message Date
Paul BakausandClaude Fable 5 16feeb4c17 bolder.md: refinement procedure from campaign learnings
Rewrite the routed bolder reference around what wins scoped
"make this section bolder" asks vs the frontend-design competitor.
Old prose was all visual levers and treated copy as secondary, so
the model kept flat placeholder copy verbatim and reached for a
decorative import for heft. New prose: scope stays sovereign;
diagnose flatness as opting out of the system's own moves; amplify
the system's own vocabulary; let content carry the weight; commit
then clarify; give the section its own scroll rhythm; a skeleton
test scoped to the section; a placeholder is a job, not a photo cue.
Drops the opening named-slop enumeration (self-priming) and the
120-line checklist (ceremony tax); now 31 lines.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 13:53:29 -07:00
Paul BakausandClaude Fable 5 1734f13a2e a26: finishing review runs in a separate agent when the harness supports it (fresh reader, builder thread stays building)
Paul's goal 7: post-checks in a separate agent thread; subagent
spawn-at-end now, pro-tier remote endpoint later.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 19:18:29 -07:00
Paul BakausandClaude Fable 5 5e13b4bfe1 a25: written wireframe test removed from build context; keep only the generative line (borrow the form's skeleton)
Skeleton checking moves outside the builder (wireframe-judge, separate
context). In-context written checks taxed execution: a24 regression.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 18:41:19 -07:00
Paul BakausandClaude Fable 5 036dded377 SKILL.md polish pass (Paul's seven notes)
- Setup 1 collapsed to run-and-follow; NO_PRODUCT_MD divert logic incl.
  unattended exception moved into context.mjs directive (no circular ref)
- Modes moved before Craft floor; Registers heading renamed Modes
- frontend-design near-verbatims removed (structural-devices rule,
  CSS-specificity example); copy rule rewritten in own voice
- Craft floor: dropped prefers-reduced-motion (a11y lives in polish/
  harden/audit) and edit-source clause; heading space-above folded
  into spacing rhythm
- Mode descriptions de-biased: surface-role definitions, no niche
  lists; Read rewritten (comprehension earned twice), density claims
  removed from Read and Operate
- craft/teach deprecation reduced to routing facts; codex illustration
  line reworded; codex tells flagged for gpt-5.6 revalidation

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 17:46:51 -07:00
Paul Bakaus f46830fe42 Improve Codex CLI fallback in Live
Detect a missing CLI before worker startup, keep Live usable through the foreground poller, and surface actionable status in Live and Live Lab.\n\nAI-assisted implementation.
2026-07-14 17:40:16 -07:00
Paul BakausandClaude Fable 5 d3599d7895 concept-seed: pinned direction (user / PRODUCT.md / DESIGN.md) beats the roll, always
Regular-use guard ahead of the realistic-lane validation: forced
creativity must never supersede user input or product context.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 17:01:52 -07:00
Paul BakausandClaude Fable 5 1e58072257 a24: wireframe test is written, not silent — forensics showed zero verdicts ever produced by the in-your-head version
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 16:45:26 -07:00
Paul BakausandClaude Fable 5 bcfaa31186 a23: wireframe test — skeleton survives with skin stripped; borrow the form's skeleton, not its clothes
Opus probe (r10-opus-wireframe): control articulates loose skeletons,
wireframe arm names them (dubbing script sheet, timecode gutter spine)
and diffs against the standard stack every time. Targets Paul's
layout-diversity question: concept-atom commitment with template
skeletons underneath.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 13:59:09 -07:00
Paul BakausandClaude Fable 5 ac90c37df0 a22: costume check DELETED; commit every atom; land fully committed, later passes clarify without diluting
Paul: 'way better to have the first iteration land fully committed to
the concept, because that's the genuinely hard part. the next pass can
make sure it is clear and effective.' The check selected against the
original lektor site itself, the campaign's 10/10 reference.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 10:31:56 -07:00
Paul BakausandClaude Fable 5 1866afe789 a21: pace the scroll like a studio (banded rhythm, treatment variety, heading spacing, quiet section, anchored close)
The inverse-probe extracted this from Paul's NewRelic review and it won
in the batch4 forward test; it was never ported. Craft diagnosis: pages
lose on rhythm monotony (one treatment uniformly applied), not defects.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 09:04:29 -07:00
Paul BakausandClaude Fable 5 313b641361 hooks: direction-contract audit in the Stop deep pass
The skill's decide-then-build step opens the built HTML artifact with a
DIRECTION CONTRACT comment (UNIQUE / NOT-TEMPLATE / OWN-WORLD / STORY /
FIRST VIEWPORT / FORM). Until now nothing ever judged the finished build
against that contract; the eval harness proved sample contracts promised
radical compositions while the build shipped the standard template anyway.

The Stop deep pass now extracts the leading contract comment from each
session-touched HTML file (marker match in the first 200 chars, body
capped at 1800 chars) and appends a contract-audit section after the
detector findings: audit the render promise by promise, naming the two
observed failure shapes (a promise not in the pixels; a contract whose
own plan is the standard template wearing the concept's nouns). Zero
extra API calls; the audit rides the existing single Stop emission and
fires at most once per file per session via a contractAudited flag on
the same session cache entry the finding dedupe uses.

Ported from the eval harness reference implementation
(extractDirectionContract / composeContractAuditMessage in
impeccable-evals runner/workers/anthropic-native.ts). No hooks.json
changes needed: Claude Code and Codex both already dispatch Stop to
hook.mjs.

Tests: 163 -> 179 in tests/hook.test.mjs (extraction unit coverage plus
Stop-pass integration: present/absent/once-per-session/non-HTML/
malformed/oversized). hook-build 18/18, build:skills prose gate clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 08:58:19 -07:00
Paul BakausandClaude Fable 5 4c7a3651d5 a20: 7-deep candidate list, roll 3-7, reproduction key printed + FORM/key telemetry in contract
Paul: no stochastic challenger-assignment mode (unreproducible bad draws
= undebuggable bug reports); keep the weigh-off. Every roll now prints
its key so any field report can be replayed with --from.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 08:50:22 -07:00
Paul BakausandClaude Fable 5 513c8768b3 a19: form dictates viewport geometry at life scale; cinematic/divergent/drenched in bounds; native motion once — probe-validated (batch7); delete seed-094 (Paul)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 07:57:58 -07:00
Paul BakausandClaude Fable 5 8fe2737950 concept-ingredients: 103-entry pool, merged from gpt-5.6-sol + gemini-3.5-pro expansion (global forms, product-design metaphors) — for Paul's curation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 18:25:33 -07:00
Paul BakausandClaude Fable 5 c1953a379d a18: concept-seed mechanism — derive grounded shortlist, script assigns build index + challengers; contract adopts UNIQUE/NOT-TEMPLATE/OWN-WORLD/STORY/FIRST-VIEWPORT
Contract-probe campaign findings (evals repo, notes/fable-oneshot-craft-plan.md):
a single model's resonance ranking is deterministic (30/35 identical
concepts across 16 framings); dice must come from the script, mirroring
the palette-seed result. Derived candidates stay grounded in the
audience's world + subject's cultural home; challengers win only on
identification x clarity; incumbent-with-deliberate-idea overrides the
roll. Validated at contract level on 01-observability + r10-lektor
(teletext ranks #3 for lektor; assigned index 3 produced it).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 18:18:22 -07:00
Paul Bakaus 0ae45b9f62 Fence the final Live source delivery
AI-assisted implementation under maintainer direction.
2026-07-13 13:03:00 -07:00
Paul Bakaus 6e92da3ba5 Cut Live first review latency
AI-assisted implementation under maintainer direction.
2026-07-13 12:43:36 -07:00
Paul BakausandClaude Fable 5 62ee3a9b00 a17: colored space, derived composition, subtraction, incumbent-as-evidence
Four lines from the r10 dual consultation (codex gpt-5.6-sol + gemini
3.5-pro on the actual HTMLs) and the hero-probe micro-eval: the probe
isolated a first-viewport monoculture (same split template in every
sample, control and skill alike) and showed these lines break it while
codex's raw 15-liner alone does not. The incumbent sentence swap fixes
the r10 root cause both consultants independently identified.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 12:41:34 -07:00
Paul Bakaus 7a3ef022d9 Cut Live variant two output latency 2026-07-13 12:09:39 -07:00
Paul Bakaus 4c07124198 Deliver Live variant two independently 2026-07-13 11:42:25 -07:00
Paul Bakaus eedccaedb0 Add durable Live variant planning 2026-07-13 11:22:26 -07:00
Paul Bakaus 49bff8da75 Improve Live variant quality guardrails 2026-07-13 11:05:30 -07:00
Paul Bakaus c6dfd22329 Harden Live worker recovery
AI-assisted: Codex
2026-07-13 10:44:37 -07:00
Paul Bakaus a274f93c4e Add atomic Live benchmark controls
AI-assisted: Codex
2026-07-13 10:43:21 -07:00
Paul Bakaus e9121b26fe Harden Live production benchmarks and turn failures
AI-assisted: Codex
2026-07-13 10:19:42 -07:00
Paul Bakaus db63d08168 Detach canceled Live generation tails
AI-assisted: Codex
2026-07-13 10:08:27 -07:00
Paul Bakaus 2008381e91 Improve Live worker recovery and Accept latency
AI-assisted: Codex
2026-07-13 09:56:48 -07:00
Paul Bakaus 8a6c4ab486 Fix early Live choice queue ownership
AI-assisted: Codex
2026-07-13 09:54:23 -07:00
Paul Bakaus 1e4927d86a Prevent duplicate long-running Live turns
Keep short crash-recovery leases without allowing a healthy worker to queue its own generation twice, and surface non-monotonic benchmark journals as errors.\n\nAI-assisted: OpenAI Codex.
2026-07-12 21:18:20 -07:00
Paul BakausandClaude Fable 5 79573ce55b refinement scope: keep content + media footprint; recompose for emphasis (codex+gemini consult)
Replaces the a14/a15 attempts (both deleted). Diagnosis: incentive
stacking; the placeholder-completion MUST plus the image tool turned
'bolder' into full-bleed photo insertion. Scope preservation is the
missing rule, not imagery policy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 21:13:58 -07:00
Paul Bakaus 6ed43ca682 Prewarm Codex Live with safe fallback
Return after a durable starting record, overlap app-server initialization with page startup, dynamically reclaim generation after worker failure, and cap hard-crash leases at 15 seconds.\n\nAI-assisted: OpenAI Codex.
2026-07-12 21:11:50 -07:00
Paul BakausandClaude Fable 5 6f3076051f persuade: scope the imagery MUST to new surfaces; existing systems decide their own vocabulary
x02 a14 rerun: 3/3 samples still imported photos — the unscoped MUST in
the Persuade mode block overrode the existing-worlds principle. Scoping
keeps the greenfield ablation win, frees iteration asks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 21:09:58 -07:00
Paul BakausandClaude Fable 5 5674a94114 existing-worlds: boldness from committed materials; new medium = redesign, not refinement
x02-tidewater-bolder eval: 3/3 skill-on samples imported photography into
a photo-free seed system (0% arena vs competitor, which amplified the
seed's own vocabulary instead). One sentence, shape-level, no examples.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 20:59:07 -07:00
Paul Bakaus edde928736 Capture Codex worker token usage
Record per-turn app-server token notifications so Live architecture benchmarks can compare context and cache costs.\n\nAI-assisted: OpenAI Codex.
2026-07-12 20:47:01 -07:00
Paul Bakaus 395953ae1d Publish app-server output before turn completion
Validate and transactionally publish complete structured agent messages as soon as they arrive while retaining turn-completion serialization for subsequent phases.\n\nAI-assisted: OpenAI Codex.
2026-07-12 20:31:30 -07:00
Paul Bakaus 0aa6fc56a0 Show Codex Live generation progress
Journal and stream dedicated worker phases so Live distinguishes first-variant design and validation from remaining-direction work without adding pollable events.\n\nAI-assisted: OpenAI Codex.
2026-07-12 20:21:22 -07:00
Paul Bakaus 2a6f8c3f53 Publish Codex Live quality evidence
Update Live Lab and the Live reference with the default Sol worker, full-task quality gate, Spark control, cold readiness, and production architecture.\n\nAI-assisted: OpenAI Codex.
2026-07-12 20:05:28 -07:00
Paul Bakaus 5e1925f9d2 Handle empty Codex worker shutdown
Treat a never-used app-server thread with no rollout file as already archived while retaining real archive failures.\n\nAI-assisted: OpenAI Codex.
2026-07-12 20:04:19 -07:00
Paul Bakaus 421c1a93f5 Harden Live design-system fidelity
Route the full-context benchmark through production worker inputs and preserve established shared-control visual roles during variant amplification.\n\nAI-assisted: OpenAI Codex.
2026-07-12 20:02:44 -07:00
Paul Bakaus f814dd329e Enable the Codex Live quality worker
Default Codex to a dedicated Sol/medium app-server worker with native skill and image inputs, inherited project context, bounded source neighborhood evidence, and progressive context refresh. Other harnesses retain the portable foreground path.\n\nAI-assisted: OpenAI Codex.
2026-07-12 19:57:47 -07:00
Paul Bakaus e89645e69d Add experimental Codex Live worker
Introduce a Live-owned app-server supervisor with progressive fenced publishing, partitioned control polling, cancellation and recovery safety, and measured integration coverage.

AI-assisted implementation under maintainer direction.
2026-07-12 19:14:05 -07:00
Paul BakausandClaude Fable 5 5635b1d484 the direction becomes a visible contract in the artifact
Transcript evidence (a12 01-observability): plans commit and deliver on
the axes with contract-strength language (palette, type, even theme
inversion) and stay default on the axis without one (layout gets a
single conventional breath). And plans living in invisible reasoning
means nothing can hold a build to its intent. The direction is now
written as a comment block at the top of the artifact answering: the
concept, the hour-later memory, why not the modal competitor page, the
signature, the first viewport's move. Critics and evals can score
delivery-against-contract; a mood is not an answer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 18:38:16 -07:00
Paul Bakaus 099aacee99 Add a compact Codex Live generator
AI-assisted: OpenAI Codex.
2026-07-12 18:35:29 -07:00
Paul Bakaus 2106a2881f Improve Live progressive responsiveness
Add transactional progressive publication, durable cancellation, responsive accept cleanup, and framework-safe Svelte and Nuxt previews.\n\nAI-assisted: OpenAI Codex.
2026-07-12 17:54:50 -07:00
Paul BakausandClaude Fable 5 ff67ad359e layout gets the source-exclusivity construction that fixed palettes
Paul's a10 review: palettes are refreshed (the palette-exclusivity
line's fingerprint) while layouts stay boring in every version. Same
cure, same shape: the layout has exactly two legitimate sources, the
concept or the content's own structure; the category's habitual
skeleton is neither.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 17:40:54 -07:00
Paul BakausandClaude Fable 5 073e17e180 three-directions sketch + the scene decides the theme
Paul's a11 review: heroes are safe SaaS viewports, everything
predictable; mobile Operate ships dark despite a brief that specifies
outdoors-in-motion use. Decide-then-build now opens with three
one-line directions differing in concept (the instinctive pick that
any studio would reach for is the default wearing your name); the
Operate mode adds: the usage scene is part of the spec, the theme
follows the scene, not the category's habit.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 17:36:45 -07:00
Paul BakausandClaude Fable 5 cfbac54440 deprecate craft: the build flow lives in new-work.md, checkpoints are a mode
Per Paul: rather than gating a second file, fold what made the craft
path superior into the file both models already read 21/21 through the
gate. new-work.md gains 'Decide, then build' (direction as one
confirmable paragraph; attended pauses, unattended records-and-goes;
codex.md mock flow when image generation exists) and 'Finish like a
studio' (inspect, honest critique, patch, detector). craft becomes a
deprecated alias like teach: invoking it forces attended checkpoints,
nothing else differs; the reference is a redirect stub. codex.md
retargeted. Existing-world feature builds remain governed by the core
floor (unmeasured path, noted in the plan doc).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 17:08:02 -07:00
Paul BakausandClaude Fable 5 139d69f2b7 bare build requests follow the craft orchestration; brief-coverage joins the floor
Invocation A/B on Fable (a9 craft-path vs a9-direct plain): the plain
path scored 38% vs the competitor against the craft path's 50%, and
brief fidelity collapsed to 14% vs bare — the direct path drops asked-
for features that craft's direction step and engineering bar preserve.
Routing now sends any build request through the craft orchestration
unprompted (its gates pause only when a user can respond), and the
craft floor gains a brief-coverage recheck: every requirement the brief
names must exist on the page.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 21:49:05 -07:00
Paul BakausandClaude Fable 5 eeff485c20 mode belongs to the surface; palette sources are exclusive
a7 transcript evidence: 01-observability samples drew orange-honey and
green seeds, recited the color-strategy menu, and shipped dark
category-reflex palettes anyway; the model applied the subject's
workmanlike grammar to its own landing page. Two generic lines: the
mode belongs to the surface, not the subject (a landing page for a
dense tool is still Persuade; deciding a page can be plain because its
subject is workmanlike is the category error in reverse), and the
palette has exactly two legitimate sources (seed or the subject's
world; the category's habitual palette is neither).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 18:46:42 -07:00
Paul BakausandClaude Fable 5 f8180b2027 palette: neutralize the last brand roll-call (text-on-color convention)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 18:37:51 -07:00