Commit Graph
148 Commits
Author SHA1 Message Date
Paul Bakaus 8682c85c57 Fix Live side-tab validation gaps
Scan Astro style blocks for inset-shadow stripes, recognize semantically chromatic external tokens without flagging neutral unknowns, and make the polling generator run advisory detector checks before publication. Sync the affected detector bundles and add a paired regression fixture.\n\nAI-assisted: Codex analyzed the failed Live task, implemented the detector and generator changes, and ran the validation suites under maintainer direction.
2026-07-15 16:23:49 -07:00
Paul Bakaus 0ac1ca6867 Restore polling as the primary Live architecture
Default Codex back to one-shot foreground polling, delegate generation to the existing low-effort agent, and keep the app-server worker available only through an explicit experimental opt-in. Preserve progressive publication and the shared safety and framework optimizations.

Prepared with Codex assistance under maintainer direction.
2026-07-15 16:16:08 -07:00
Paul Bakaus ead6ddabe5 Preserve experimental Live app-server workstream
Snapshot the current app-server implementation, shared Live optimizations, generated harness output, and in-progress site work before restoring polling as the primary runtime path.

Prepared with Codex assistance under maintainer direction.
2026-07-15 16:07:34 -07:00
Paul BakausandClaude Fable 5 d8eb4d73c7 bolder.md: prose-lint fix (banned tell)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 13:56:17 -07:00
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