Commit graph Ghostlight/tools
Author SHA1 Message Date
Meta Vens
241b33ef2f Refuse to type into a disabled control in the Eve client bridge (PA.f174)
`tools/eve_client_bridge.mjs`'s `set` step found the rendered control and
typed into it without checking whether it was disabled, so a control a
real browser would render disabled -- and refuse keystrokes into -- still
silently captured a value here. That made PA.f167's own gap (a disabled
control cannot be proven untestable through the bridge) cheap to close:
the bridge now throws "bridge: node id <id>'s own control is disabled; a
real client cannot type into it" before assigning `element.value`.

BEHAVIOR CHANGE NOTE: this changes tools/eve_client_bridge.mjs's own
runtime behavior -- a `set` step against a disabled control now throws
instead of silently succeeding. Anyone driving the bridge directly against
a surface that renders a disabled field for the node ids it types into
will see a new failure where there was none before.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 02:28:01 +02:00
Meta Vens
d9f01595a0 Add the Eve client bridge Cut 10 verification runs on
Drives the real vendored eve-browser-lowering (submodule pin unmoved)
over a jsdom-rendered surface document: types into controls, clicks
buttons, and prints the resulting gamecult.eve.command_invocation.v1
intents. tools/eve_client_bridge.mjs is the harness the runtime.rs
round-trip test (next commit) uses to prove the client round trip
against Dungeon's own served surfaces, not a hand-built payload.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 00:36:11 +02:00
Meta Vens
22937b71f0 Replace vendor/cultcache-py submodule with published PyPI dependency
CultLib's packages/cultcache-py is now published as cultcache-py==0.2.0 on
PyPI (MIT), so the standalone GameCult/cultcache-py fork that Ghostlight
vendored as a submodule is retired. Symbol-for-symbol and on-disk-format
verification against the pinned submodule commit 9b4bbb8 found no
incompatibility: every symbol tools/ghostlight_state_store.py imports
(CultCache, JsonLinesBackingStore, define_document_type) and every method it
calls kept its signature, and JsonLinesBackingStore's on-disk JSONL envelope
fields and sort order are unchanged, confirmed by a real round-trip against
Ghostlight's production state/ghostlight-state.cultcache.jsonl.

tools/ghostlight_state_store.py no longer pushes vendor/cultcache-py/src onto
sys.path; it imports cultcache_py directly. Since Ghostlight's session
bootstrap previously depended on the submodule needing no install step,
tools/requirements.txt now pins cultcache-py==0.2.0 and npm run
state:bootstrap (pip install -r tools/requirements.txt, idempotent) runs as a
pre-hook ahead of state:status and state:prepare-compaction; AGENTS.md's
Session Bootstrap protocol and Useful Commands section call it out explicitly
for the direct ghostlight_state.py CLI invocations that don't go through npm.

Verified for real: `python tools/ghostlight_state.py status` and `python
tools/ghostlight_prepare_compaction.py`, run from a venv with cultcache-py
installed from PyPI, against Ghostlight's actual production state file (22 ok
findings, 2 pre-existing unrelated warnings, exit 0 both times).

Idunn's deployment/idunn/recipe.toml never declared vendor/cultcache-py in
required_gitlinks (only vendor/eve) and its build/test/service steps never
touch Python state tooling, so no recipe change is needed for admission.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-13 16:08:19 +02:00
Meta Vens
18f2eb96a2 Distill the evidence ledger to twelve records through one compaction path
44 records to 12: supersession chains collapsed to their survivors,
per-commit receipts folded into the decision they served, standing
pre-rebuild decisions merged into one record map.yaml already owns. Every
removed record is archived verbatim. `compact-evidence` is now the one
durable deletion path; the status tool reads folded scalars, and the
compaction helper imports the map readers instead of carrying copies.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-06 15:03:55 +02:00
Meta Vens
6bb6869810 Rebuild Ghostlight around explicit world authority 2026-09-02 07:21:11 +02:00
Meta Vens
64f50de596 Delete obsolete pipeline smokes 2026-09-01 14:22:07 +02:00
Meta Vens
eec5168d2e Separate newspaper house style from issue flow 2026-08-30 19:34:37 +02:00
Meta Vens
f7a02bc6c1 Build seeded TeX newspaper press 2026-08-30 18:30:56 +02:00
Meta Vens
b1fe2fa4f1 Take the Canopy Ledger to press 2026-08-30 12:00:36 +02:00
Meta Vens
d407a51e96 Refresh Ghostlight rehydration state 2026-08-21 22:57:16 +02:00
Meta Vens
b77e68e1f7 Separate gestalt budget from provider concurrency 2026-08-18 21:03:48 +02:00
Meta Vens
a23ab50d18 Model collective gestalt migration 2026-08-18 00:57:51 +02:00
Meta Vens
c4906b531c Preserve dormant member action agency 2026-08-17 23:51:39 +02:00
Meta Vens
774e414b26 Model bounded gestalt background activity 2026-08-17 23:37:36 +02:00
Meta Vens
476045e411 Profile sustained gestalt live fire 2026-08-17 22:26:41 +02:00
Meta Vens
ea30938b48 Profile persistent HTTP journeys from operator receipts 2026-08-17 21:01:20 +02:00
Meta Vens
112b668d89 Preserve resume provenance in live-fire status 2026-08-17 20:56:23 +02:00
Meta Vens
7bb711b5de Resume live fire from successful scenario receipts 2026-08-17 20:38:53 +02:00
Meta Vens
742838e590 Add persistent HTTP journey live-fire harness 2026-08-17 20:37:38 +02:00
Meta Vens
493be4696d Profile live-fire stages from raw receipts 2026-08-17 20:06:16 +02:00
Meta Vens
8966d702c2 Resume live-fire matrices without replaying scenarios 2026-08-17 20:03:03 +02:00
Meta Vens
6f9c078bce Give semantic retries exact correction context 2026-08-17 20:00:04 +02:00
Meta Vens
6e67ab75a9 Add budgeted live-fire scenario matrix 2026-08-17 19:39:15 +02:00
Meta Vens
2531b42ea7 Migrate state spine toward cultcache-py 2026-05-06 04:48:21 +01:00
Meta Vens
82be778002 Add initiative scheduler artifact seam 2026-05-04 23:58:07 +01:00
Meta Vens
3a50b65cce Add Pallas training-loop receipt pilot 2026-05-04 14:59:42 +01:00
Meta Vens
e9ea7ece5f Mark Pallas fixture as reference only 2026-05-04 14:06:01 +01:00
Meta Vens
89e91c1906 Add corpus coverage ledger 2026-05-04 13:52:48 +01:00
Meta Vens
4b2156b055 Prune obsolete prototype fixtures 2026-05-04 13:33:18 +01:00
Meta Vens
9db20e37b2 Revert "Add visual blockout pipeline"
This reverts commit 139902246e.
2026-05-03 16:52:30 +01:00
Meta Vens
bfdf96a2e2 Revert "Fix Pallas blockout guide shots"
This reverts commit 191637ab14.
2026-05-03 16:52:30 +01:00
Meta Vens
191637ab14 Fix Pallas blockout guide shots 2026-05-03 14:58:11 +01:00
Meta Vens
139902246e Add visual blockout pipeline 2026-05-03 14:34:50 +01:00
Meta Vens
d772f14ac9 Apply Pallas reviewer fixes 2026-05-03 11:55:35 +01:00
Meta Vens
6cc797db9a Enforce affirmative image prompts 2026-05-03 11:41:25 +01:00
Meta Vens
a24d4fe7bb Remove legacy visual modification prompts 2026-05-03 11:26:36 +01:00
Meta Vens
8e275f770b Split Ink visual plans from training sidecars 2026-05-03 11:21:41 +01:00
Meta Vens
55ee6a5d28 Extract sandboxed responder prompts 2026-05-03 08:37:26 +01:00
Meta Vens
bc5a062bd1 Add trace-backed Veyr responder sample 2026-05-02 12:19:33 +01:00
Meta Vens
abac1054b1 Add responder research trace seam 2026-05-02 12:07:25 +01:00
Meta Vens
41379c1c7e Widen research responder lore traversal 2026-05-02 11:41:33 +01:00
Meta Vens
98f2d86ebe Add research-enabled responder capture 2026-05-02 11:30:53 +01:00
Meta Vens
c5f37e9965 Add research-enabled responder packet 2026-05-02 11:18:18 +01:00
Meta Vens
b5e96d04ee Require lore grounding for research responders 2026-05-02 11:12:31 +01:00
Meta Vens
c377f19f79 Add projected retrieval requirements 2026-05-02 11:08:43 +01:00
Meta Vens
b5efe928b9 Clarify responder retrieval lane 2026-05-02 11:00:17 +01:00
Meta Vens
ef8828de9c Exercise responder lore lanes 2026-05-02 10:50:36 +01:00
Meta Vens
effcf2b019 Split responder lore grounding lanes 2026-05-02 10:43:51 +01:00
Meta Vens
11f6b82369 Capture sandboxed responder output 2026-05-02 10:25:53 +01:00
Meta Vens
f120289305 Add sandboxed responder packet seam 2026-05-02 10:20:29 +01:00