Which harness a worker ran with — toolingSnapshot.harness (k7xxg)
Every engine run records, in run.json, a hash of each harness input Cyberine injected, so two runs can be compared on the harness they used without storing the text itself (instruction files can hold secrets).
jq '.toolingSnapshot.harness' .local/runs/<runId>/run.json
jq '.toolingSnapshot.harness.workers[] | {agentId, kind, model, fingerprint, notCovered}' .local/runs/<runId>/run.jsoninvariants,rules,skills,memory: each{sha256, bytes}of what reached the dispatched prompt. The invariants and rules blocks count only when a step prompt actually carries them (a background dispatch prepends them, a plain foreground run does not),skillshashes the discovered skill set (scope, id, description), andmemoryhashes the MEMORY block found in the step prompts.workers[]: per workeragentId,kind,provider,workerId,modelwhen the adapter knows it (loop workers),instructions(a loop worker's instruction-file preamble, or the preamble a CLI worker gets for files it does not read itself),fingerprintover the shared inputs plus its instructions, andnotCoverednaming the instruction files a CLI loads on its own.shared: the fingerprint of the four shared inputs.- An input that could not be read is recorded as
{missing: "<why>"}, and every fingerprint that would depend on it is left out rather than computed from a guess.
Known Limitations and Deferred Work: the fingerprint covers what Cyberine injects, not what a CLI agent loads by itself (its own CLAUDE.md, AGENTS.md, user settings, plugins), which notCovered names but does not hash. A CLI adapter built without an instruction-file list records instructions as an empty preamble. The repo map and the context-provider preamble a loop worker gets are not part of the fingerprint. Workflow-engine runs (cyberine run, --bg, npm run wf) record the per-worker list; the kanban runner and workflow scripts record only the shared inputs, with memory as missing because they pass no prompts; the single-step orchestrate() path writes no tooling snapshot.
Contrastive reflection into a lesson library — cyberine lessons (k79pw)
Reflect on one completed step only when the record contains a passed worker and a failed worker with the same brief. A judge selecting one of several successful workers is not a failure signal....
Which Claude account a worker bills — oauthToken (k8rhz)
CLAUDECODEOAUTHTOKEN is a long-lived subscription credential that decides WHICH SEAT a claude worker bills. It used to reach every spawned worker by plain inheritance: T603's least-privilege env