Commit Graph
188 Commits
Author SHA1 Message Date
github-actions[bot] 806a48aef2 Sync generated provider output 2026-07-28 01:52:13 +00:00
github-actions[bot] 270f177d1d Sync generated provider output 2026-07-28 01:19:54 +00:00
github-actions[bot] f59c5223a4 Sync generated provider output 2026-07-28 01:13:37 +00:00
github-actions[bot] 69bf1e9523 Sync generated provider output 2026-07-28 01:11:27 +00:00
github-actions[bot] c3fe6d8064 Sync generated provider output 2026-07-28 01:06:14 +00:00
github-actions[bot] aef8cbac34 Sync generated provider output 2026-07-28 00:49:56 +00:00
github-actions[bot] 149d71a772 Sync generated provider output 2026-07-28 00:15:34 +00:00
github-actions[bot] f5827256d0 Sync generated provider output 2026-07-28 00:11:12 +00:00
github-actions[bot] a07e4ed787 Sync generated provider output 2026-07-28 00:03:34 +00:00
github-actions[bot] 5bec5408e5 Sync generated provider output 2026-07-27 22:52:08 +00:00
github-actions[bot] d7d07cb0d6 Sync generated provider output 2026-07-27 22:14:03 +00:00
github-actions[bot] d52077414c Sync generated provider output 2026-07-27 21:50:35 +00:00
github-actions[bot] 839dd10079 Sync generated provider output 2026-07-27 17:07:25 +00:00
Paul BakausandGitHub 5e572c8b8a Merge pull request #423 from pbakaus/hook-guard-unsupported-node
Stop the design hook erroring on a node too old for ESM
2026-07-26 18:12:52 -07:00
github-actions[bot] 7380ecb153 Sync generated provider output 2026-07-27 01:09:00 +00:00
fd9076f4f0 Enforce the engines floor in the probe instead of a capability check
The probe asked whether node could load ESM, while the notice promised a
Node 22 floor and package.json engines declares >=22.12.0. Reviewers kept
flagging the gap, and they were right to: a 14.18-to-21 runtime passed the
probe on the strength of one import while the hook and its detector bundle
are only ever exercised on the engines floor, so "can load our code" was a
weaker claim than the one being made for it.

Check the floor directly: parseInt(process.versions.node) >= 22, in
ES5-only syntax that parses on any node old enough to fail it. Probe and
notice now derive from one NODE_MAJOR_FLOOR constant, so they cannot
disagree, and the archaeology about node: scheme support and pre-15
unhandled-rejection semantics goes with the import it explained.

Add the missing contract test: every generated hook command carries the
probe, the notice appears exactly where a harness can render it (Claude
and Codex, project and plugin), and the expected floor is read from
package.json engines rather than repeated by hand.

Verified against a fake pre-22 node, no node, and a real node: one notice
then the marker holds it silent, exit 0 in every failure shape, and the
hook's own exit code still passes through on a supported runtime.

Co-Authored-By: Claude Fable 5 (via Cursor) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-26 22:17:19 +05:00
Abdul WahabandClaude Opus 5 86cdf528c5 Probe the import the hook actually uses, and fail closed on rejection
Greptile flagged that the probe does not enforce the Node 22 engines floor.
Two parts to that, and they land differently.

The real defect is narrower and worse than stated: the hook closure imports
`node:fs`, `node:os`, `node:path` and `node:url`, and the `node:` scheme needs
14.18, so a bare `import('fs')` probe passed on 12 and 13 and those runtimes
then died on the real import, which is the banner this branch exists to remove.
Probing `node:fs` closes that. The added `.catch(()=>process.exit(1))` is load
bearing rather than tidiness: before Node 15 an unhandled rejection is only a
warning and the process still exits 0, so a rejected probe would have read as a
pass on exactly the versions in question.

Not enforcing 22 is deliberate and stays. The probe asks whether this runtime
can load our code, not whether it is a supported one, so a 14.18-to-21 runtime
that works today keeps working rather than being silently switched off. The
notice names 22 because that is the version worth installing, and it only ever
reaches someone whose runtime already failed the probe, so no user is shown a
threshold that contradicts what ran.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 21:20:26 +05:00
Abdul WahabandClaude Opus 5 0db59088ff Stop the design hook erroring on a node too old for ESM
The hook command invokes bare `node`. When that node predates ESM,
`hook.mjs` dies while it is still being parsed, before the script's own
always-exit-0 contract can run, so node exits 1 and the harness reports a
hook error on every Stop and every edit.

Probe the runtime in the command string before invoking the hook, and
route the Claude plugin manifest through the guard that already covered
the project-local manifests. On probe failure the command exits 0 and
emits a one-time `systemMessage` naming the two fixes available to the
user, since nothing written in ESM can report this condition.

Fixes #410.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 12:46:11 +05:00
github-actions[bot] d272b9bd5d Sync generated provider output 2026-07-26 02:16:50 +00:00
github-actions[bot] 108b13f346 Sync generated provider output 2026-07-26 01:42:20 +00:00
github-actions[bot] 5d77ba75fe Sync generated provider output 2026-07-26 01:39:58 +00:00
github-actions[bot] 43751330a6 Sync generated provider output 2026-07-26 01:39:10 +00:00
github-actions[bot] 5a39675d3a Sync generated provider output 2026-07-26 01:38:30 +00:00
github-actions[bot] 7783f2a622 Sync generated provider output 2026-07-26 01:36:41 +00:00
github-actions[bot] af78b1e512 Sync generated provider output 2026-07-25 01:43:39 +00:00
github-actions[bot] af2a14c12c Sync generated provider output 2026-07-25 00:19:34 +00:00
github-actions[bot] e3f732e99c Sync generated provider output 2026-07-25 00:10:01 +00:00
github-actions[bot] 94dc732d30 Sync generated provider output 2026-07-24 23:17:52 +00:00
github-actions[bot] 450d5659c7 Sync generated provider output 2026-07-24 22:34:20 +00:00
github-actions[bot] 08676d5757 Sync generated provider output 2026-07-23 18:11:31 +00:00
Paul BakausandClaude Fable 5 fc2e694afc Release prep: skill v4.0.2
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 10:35:22 -07:00
github-actions[bot] bdaa5a4eb9 Sync generated provider output 2026-07-23 05:50:13 +00:00
github-actions[bot] fc3dc501a6 Sync generated provider output 2026-07-23 04:59:57 +00:00
github-actions[bot] 762ffd08b2 Sync generated provider output 2026-07-23 04:50:46 +00:00
github-actions[bot] 698a743958 Sync generated provider output 2026-07-23 00:34:48 +00:00
github-actions[bot] 9b7f7ffbba Sync generated provider output 2026-07-22 20:14:42 +00:00
Paul BakausandClaude Fable 5 eda81f0937 Release prep: skill v4.0.1
Bump plugin + marketplace to 4.0.1 and sync the regenerated provider
output: the guarded hook commands from issue #399 (a missing hook file
exits 0 instead of crashing every turn of a user-level install), the
canon standing exit, the visualize flow, the two shipped subagents, and
the interactive-spine fixes from today's live testing. Detector count
validates at 59 with undersized-ui-text.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 12:23:07 -07:00
github-actions[bot] 386f9883cf Sync generated provider output 2026-07-22 07:44:15 +00:00
github-actions[bot] 3f72e761db Sync generated provider output 2026-07-22 07:39:46 +00:00
github-actions[bot] c2fbc66bdd Sync generated provider output 2026-07-22 07:38:39 +00:00
github-actions[bot] 043a157349 Sync generated provider output 2026-07-22 07:29:05 +00:00
github-actions[bot] 396c18bdf9 Sync generated provider output 2026-07-22 07:07:34 +00:00
github-actions[bot] a96445b973 Sync generated provider output 2026-07-22 07:00:38 +00:00
Paul BakausandClaude Fable 5 311c30f11f Release prep: skill v4.0.0, CLI v3.3.0
Bump skill to 4.0.0 (plugin.json + marketplace.json) and the CLI to
3.3.0 (package.json), then run build:release to regenerate the plugin
subtree and all provider harness output to the new versions.

Skill 4.0.0 ships external-dice direction assignment, the reviewed
world catalog dealt through the roll API with rendered quality-bar
cards, the in-browser serve-question decision page, visualize-before-
build, the rebuilt new-work flow, and the 58-rule detector under hook
enforcement. CLI 3.3.0 grows the deterministic detector to 58 rules
and adds config-declared context roots, per-file rule scoping, and
--target resolution for nested products.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 18:53:45 -07:00
Paul BakausandClaude d7d10277d1 Merge main into oneshot-v4, keeping the service layer split out
main still carries the site, so every `site/` path resolves to deleted.
`tests/docs-integrity.test.js` goes with it (it imports the site's demo
renderer), and `package.json` keeps main's `@anthropic-ai/sdk` bump while
dropping `@google/genai` and `@paper-design/shaders`, which nothing in the
product layer imports.

Real code merges:

- hook-lib: main's #391 cache fix (sync the remembered set to the live
  scan so fixed findings stop being named and a reintroduced one fires
  again) now runs on the immediate tier rather than the whole filtered
  set. Remembering a deferred finding the per-edit pass never reported
  would let the Stop deep pass dedupe it away. main's `maxFileBytes`
  ceiling, `cleanAcked` once-per-file ack, and template-extensions
  re-export all land alongside the tiering work.
- live-browser: main's `hasParams` gate on the Tune badge, keeping this
  branch's `C.ink` badge text so it stays legible on kinpaku gold.
- detect-text: both the block-level codex-grid-background scan and main's
  inset-stripe CSS check.
- test-suites: union of both trigger sets and file lists, minus the
  site-only entries (`shiki-theme`, `docs-integrity`).
- Two hook tests moved off deferred-tier rules (`overused-font`,
  `side-tab`) onto immediate-tier ones. They assert cache bookkeeping,
  which the per-edit pass only reaches for the immediate tier.

Also drops the site waivers from `.impeccable/config.json` and stops
`build:browser` recreating a stray `site/` tree just to write a bundle
the other repo builds itself.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-21 01:45:42 -07:00
github-actions[bot] 4d849eb75f Sync generated provider output 2026-07-21 01:45:13 +00:00
github-actions[bot] b906b41462 Sync generated provider output 2026-07-20 17:50:07 +00:00
github-actions[bot] 0a1e1f5ee3 Sync generated provider output 2026-07-20 03:41:00 +00:00
github-actions[bot] 1d68486915 Sync generated provider output 2026-07-20 03:40:22 +00:00
github-actions[bot] 381e159040 Sync generated provider output 2026-07-20 01:43:18 +00:00