Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
205 commits
Select commit Hold shift + click to select a range
5d3eb64
feat(metrics): metrics v2 rows (effort, reported model + evidence lab…
AlbSar Oct 23, 2026
db0b4c7
feat(runs): HOLD-RESUME — typed hold source, person-only resume of sa…
AlbSar Oct 23, 2026
7bcb4e2
merge a55/s5b: HOLD-RESUME — typed safety hold sources, person-only r…
AlbSar Oct 23, 2026
06e149c
feat(work-class): ATAMA-0 Core seed revision with acceptance profiles…
AlbSar Oct 23, 2026
913f138
chore(arch): PROVISIONAL composition ceiling 7950 -> 7980 for the S4 …
AlbSar Oct 23, 2026
5fbe183
feat(memory): memory journal v1 — scoped single writer, DB-neutral po…
AlbSar Oct 23, 2026
192d6a5
feat(memory): `deckent memory inspect` accepts the short id the list …
AlbSar Oct 23, 2026
e122daf
refactor(metrics): one lifecycle producer may record a human decision…
AlbSar Oct 23, 2026
35fc1cf
fix(memory): FTS index and list order keyed by an explicit entry id a…
AlbSar Oct 23, 2026
4ffced1
test(work-class): a declared criterion acceptance on a Core class mus…
AlbSar Oct 23, 2026
392bbed
chore(arch): owner-approved alpha.55 ceilings — adapters 30600, compo…
AlbSar Oct 23, 2026
afe9e1c
merge a55/s0: ATAMA-0 metrics v2 (ledger v60), work-class seed v2 acc…
AlbSar Oct 23, 2026
87df6a0
Revert "chore(arch): PROVISIONAL composition ceiling 7950 -> 7980 for…
AlbSar Oct 23, 2026
3981b6b
merge a55/integrate into a55/s4: memory journal renumbered to ledger …
AlbSar Oct 23, 2026
475a9c6
feat(memory): a person's write path — `deckent memory propose|verify|…
AlbSar Oct 23, 2026
330b5c9
feat(audit): S5 Auditor D1/D2 — sealed policy-turn record, AuditFollo…
AlbSar Oct 23, 2026
9cea80c
feat(audit): S5 D1 — shell write-set entry refusals in the policy-tur…
AlbSar Oct 23, 2026
a8fce52
merge a55/s5: Auditor D1/D2 — sealed per-turn policy decisions, Audit…
AlbSar Oct 23, 2026
39c1066
feat(policy): first-run template v14 — memory inspect for the named p…
AlbSar Oct 23, 2026
c7d79da
feat(policy): memory verify and retire on the AI hard floor (law-audi…
AlbSar Oct 23, 2026
804752c
test(policy): the AI authority floor list names memory verify and ret…
AlbSar Oct 23, 2026
ca8cef1
merge a55/s4: memory journal v1 (ledger v61, FTS5 search, person-only…
AlbSar Oct 23, 2026
c60a78b
test(policy): auditor principal treats memory/verify as a transition …
AlbSar Oct 23, 2026
3a8a4d5
docs(s6r-0): record owner 2026-10-23 K-B + A5 update and KARAR 12 clo…
AlbSar Oct 23, 2026
eaf61e2
feat(s6r-1): lost-worker evidence foundations (container id at create…
AlbSar Oct 23, 2026
4ac4ccf
merge a55/s6r1: S6R-0 recovery decision text + S6R-1 evidence foundat…
AlbSar Oct 23, 2026
d4ee827
test(support): refusal evidence orders WITHOUT ROWID tables by their …
AlbSar Oct 23, 2026
30e2e72
feat(assignment): ATAMA-1 system worker assignment by WorkClass — Bra…
AlbSar Oct 23, 2026
13104d7
test(metrics): an assigned Attempt's v2 row carries the sealed assign…
AlbSar Oct 23, 2026
6b3d931
fix(assignment): a proposal refused for no runnable listed worker sho…
AlbSar Oct 23, 2026
7a2d3bd
merge a55/s1: ATAMA-1 system assignment by WorkClass (registry v4 can…
AlbSar Oct 23, 2026
9cd279a
fix(brain): the planning context carries the WorkClass vocabulary, no…
AlbSar Oct 23, 2026
91226c1
merge a55/s1: Brain sees a bounded WorkClass view (no scoring/admissi…
AlbSar Oct 23, 2026
00ad389
feat(s6r-1): wire the effect-producer index as ledger v63 (after s1's…
AlbSar Oct 23, 2026
9a7b32f
merge a55/s6r1: effect producer index on ledger v63
AlbSar Oct 23, 2026
0c64cb1
test(ledger): immediate-eligibility dump orders WITHOUT ROWID FTS5 ta…
AlbSar Oct 23, 2026
efb42cd
feat(nervous): S6 Nervous K-B + S6R-2 shadow detector (deterministic …
AlbSar Oct 23, 2026
84b77db
test(nervous): S6R-2 shadow proof on the real Docker daemon (gone + o…
AlbSar Oct 23, 2026
4962238
merge a55/s6: Nervous K-B detector in shadow mode (deterministic rule…
AlbSar Oct 23, 2026
70d9b2d
test(audit): map the s4 memory authorization policy site (s4 × s5 fan…
AlbSar Oct 23, 2026
5fbd27e
feat(model-roles): S2 tier/role registry and Brain gate (owner A2, A3…
AlbSar Oct 23, 2026
f85b780
feat(agent-catalog): S7 agent/skill catalog core — versioned rows, em…
AlbSar Oct 23, 2026
9217f63
chore(policy): regenerate the AI floor compliance report for the agen…
AlbSar Oct 23, 2026
91172d1
merge a55/s2
AlbSar Oct 23, 2026
cf6bd97
merge a55/s7: agent/skill catalog core (versioned agent rows with per…
AlbSar Oct 23, 2026
8caabc4
test(work-class): the override-denied query error is reached through …
AlbSar Oct 23, 2026
5972325
merge a55/s1: acceptance-query-errors overlay fixture built for the v…
AlbSar Oct 23, 2026
28f02de
docs(decisions): S4B-0 K-D amendment — memory fills itself and is use…
AlbSar Oct 23, 2026
b37a1fc
refactor(sqlite-ledger): move the code-owned migration steps into sql…
AlbSar Oct 23, 2026
a98bf8f
feat(guard): model-independence guard (M1 profile bug + M5 ratchet, L…
AlbSar Oct 23, 2026
c3a3cce
merge a55/m5: model-independence guard (G5 model-family literal check…
AlbSar Oct 23, 2026
f37e67e
feat(model-connect): API-channel models connect from a registered cat…
AlbSar Oct 23, 2026
3265181
feat(memory): S4B-1 write foundations — distiller principal + exact f…
AlbSar Oct 23, 2026
abdd680
test(model-connect): the synthetic Anthropic model is registered and …
AlbSar Oct 23, 2026
1701be4
feat(policy): first-run template v15 — memory distiller D1–D4 + agent…
AlbSar Oct 23, 2026
8729f44
chore(policy): regenerate the AI floor report for the workload-ref pe…
AlbSar Oct 23, 2026
0678e15
test(policy): hand-built upgrade test under the function-length limit
AlbSar Oct 23, 2026
bb236cd
test(policy): hand-built upgrade test under the function-length limit…
AlbSar Oct 23, 2026
c9679cf
fix(model-connect): catalog routes stay on the connection origin; sea…
AlbSar Oct 23, 2026
e06e199
fix(model-connect): a row's display pricing must agree with its conne…
AlbSar Oct 23, 2026
36c8ac2
merge a55/integrate (m5 model-independence guard) into a55/m4
AlbSar Oct 23, 2026
cb91aec
feat(memory): S4B-1 distiller pass off the hot path — sealed source p…
AlbSar Oct 23, 2026
9a527b7
merge a55/m4: API-channel model terms as catalog data (connect block,…
AlbSar Oct 23, 2026
208a571
feat(provider-catalog): independent-maker row filter for the memory e…
AlbSar Oct 23, 2026
c19f192
test(policy): retarget the installer, governed, witness and PTY templ…
AlbSar Oct 23, 2026
492861e
fix(config): declare the memory automation switch and overlay (and S6…
AlbSar Oct 23, 2026
e0cb4ca
merge a55/s4b1: S4B-0 K-D amendment + S4B-1 memory write foundations …
AlbSar Oct 23, 2026
2f28f30
test(custody): metrics v2 returns no rows for a custody release (s0 r…
AlbSar Oct 23, 2026
0a9c4b4
chore(arch): composition ceiling 9000 for alpha.55 core-layer slices …
AlbSar Oct 23, 2026
3899ee4
feat(nervous): S6R-3 live broker — fence, stop-orphan, release with p…
AlbSar Oct 23, 2026
8832371
test(nervous): S6R-3 live proof on the real Docker daemon; one failin…
AlbSar Oct 23, 2026
715df2f
feat(policy): S4B-3 memory evaluator principal, exact V1–V5 floor and…
AlbSar Oct 23, 2026
e7df20a
feat(model-roles): typed role admission `deckent models roles [show|s…
AlbSar Oct 23, 2026
cd17fbe
fix(model-roles): the card's price line says the catalog day once ("a…
AlbSar Oct 23, 2026
c9653b6
feat(memory): S4B-3 independent evaluation — sealed record, re-derive…
AlbSar Oct 23, 2026
0c31d4d
feat(memory-journal-store): S4B-3 evaluation records and contests on …
AlbSar Oct 23, 2026
34e261c
feat(memory): S4B-3 evaluator wired off the hot path (verification mo…
AlbSar Oct 23, 2026
0fcab32
fix(memory): S4B-3 a refusal before the provider effect is not an ans…
AlbSar Oct 23, 2026
ff6ac17
merge a55/s6r3
AlbSar Oct 23, 2026
0cfdd18
merge a55/m2
AlbSar Oct 23, 2026
1de9912
merge a55/s4b3
AlbSar Oct 23, 2026
081c887
test(i18n): record the four dead model-named governance keys m5 remov…
AlbSar Oct 23, 2026
1764a25
merge main (alpha.54 live c87db944) into a55/integrate
AlbSar Oct 23, 2026
59ea18b
feat(work-class): M3 WorkClass v5 candidate selectors expand through …
AlbSar Oct 23, 2026
cce3d66
fix(assignment): a system-assigned candidate's pin carries the catalo…
AlbSar Oct 23, 2026
6b3a345
test(recovery): S6R-4 negatives first — effect gate, continueLostTask…
AlbSar Oct 23, 2026
d74f707
perf(assignment): selector expansion reads each channel's catalog row…
AlbSar Oct 23, 2026
093f6d1
merge a55/m3
AlbSar Oct 23, 2026
3522df0
feat(memory): S4B-4 person-only review card, retire/purge by source, …
AlbSar Oct 23, 2026
86ffe06
feat(recovery): S6R-4 effect gate + continueLostTask + recovery_cases…
AlbSar Oct 23, 2026
6e95583
test(memory): S4B-4 negatives — person-only purge/review/resolve, tom…
AlbSar Oct 23, 2026
fb1be84
fix(recovery): a sealed escalation re-issues its idempotent hold on r…
AlbSar Oct 23, 2026
2c5c06e
merge a55/s6r4 (S6R-4, ledger v66)
AlbSar Oct 23, 2026
9587af6
fix(memory-journal-store): a purge leaves no readable bytes — secure …
AlbSar Oct 23, 2026
df8974d
feat(memory): S4B-2 worker report lessons claim (bounded, registry li…
AlbSar Oct 23, 2026
ce06b3c
fix(memory): S4B-4 honest purge card names the evaluator call's plain…
AlbSar Oct 23, 2026
cf8b2b4
fix(memory): S4B-2 bad lessons are dropped and marked on the report e…
AlbSar Oct 23, 2026
595218f
merge a55/s4b2 (S4B-2 worker lessons claim)
AlbSar Oct 23, 2026
0d1a439
fix(i18n-tr): plain Turkish for worker image use and branch advance (…
AlbSar Oct 23, 2026
d137db3
fix(memory): S4B-4 lead review — purge reaches only its entry's evalu…
AlbSar Oct 23, 2026
b96045a
merge a55/s4b4 (S4B-4 memory review, contest resolve, purge)
AlbSar Oct 23, 2026
31516ea
fix(assignment): bound the skipped list in the worker assignment refu…
AlbSar Oct 23, 2026
4e6795b
test(memory): purge record fixture carries the memory/purge decision …
AlbSar Oct 23, 2026
9a47f7e
feat(approval): the run approval card says when a worker was chosen t…
AlbSar Oct 23, 2026
a123dc5
fix(brain): the Brain's worker-model list applies the same worker rol…
AlbSar Oct 23, 2026
d8ca4d4
feat(quota): quota wait is at most the configured bound (5 h), then a…
AlbSar Oct 23, 2026
70e1e60
merge a55/s9
AlbSar Oct 23, 2026
a1b6da5
merge a55/f1 (assignment refusal bound, selector line on the card, Br…
AlbSar Oct 23, 2026
4a1096a
feat(terminal): /roles window shows the models roles read view read-o…
AlbSar Oct 23, 2026
dae9717
feat(memory): S4B-5 verified memory into the worker prompt at Run adm…
AlbSar Oct 23, 2026
0a8142b
feat(monitor): snapshot carries 'new model: role pending (N)' as a ty…
AlbSar Oct 23, 2026
7ed9e73
feat(sdk): export the read-only models roles view as inspectModelRole…
AlbSar Oct 23, 2026
1c76a64
merge a55/s4b5
AlbSar Oct 23, 2026
d2888c1
merge a55/f2
AlbSar Oct 23, 2026
66ad621
fix(runs): keep engine/runs at its 2000-line unit budget after s4b5 +…
AlbSar Oct 23, 2026
3d28b02
feat(headless): S3-1 registry data and one shared Claude stream-json …
AlbSar Oct 23, 2026
0e1f8a3
feat(headless): S3-2 native port native-cli-headless (preflight, runn…
AlbSar Oct 23, 2026
aa27b47
feat(memory): S4B-6 verified memory into the Brain planning context
AlbSar Oct 23, 2026
671e697
fix(headless): preflight never empties the shared run dir; env-gated …
AlbSar Oct 23, 2026
59d8d9b
test(recovery): S6R-5 negatives first — recovery decision, admission …
AlbSar Oct 23, 2026
315a265
feat(recovery): S6R-5 recovery decision — role model chooser, decisio…
AlbSar Oct 23, 2026
5b17ef8
merge a55/s3a
AlbSar Oct 23, 2026
66aa9a0
merge a55/s4b6
AlbSar Oct 23, 2026
716054d
fix(recovery): S6R-5 review folds — invocable role reference lives in…
AlbSar Oct 23, 2026
9181058
merge a55/s6r5 (S6R-5 recovery decision)
AlbSar Oct 23, 2026
e64ad7b
fix(headless): help-hidden flags are proven by the parser refusal in …
AlbSar Oct 23, 2026
329ee34
test(agents): S8-1a/S8-1b negatives first — standing table v67, trans…
AlbSar Oct 23, 2026
0e7c539
feat(headless): S3-3 delegated-use consent is one rule for every non-…
AlbSar Oct 23, 2026
1b0b5f7
test(recovery): S6R-6 negatives first — hold texts on every surface, …
AlbSar Oct 23, 2026
fef5d54
feat(recovery): S6R-6 recovery texts on every surface, protected Nerv…
AlbSar Oct 23, 2026
f63d40a
feat(agents): S8-1a standing table (lane ledger v67) + S8-1b system a…
AlbSar Oct 23, 2026
2739efd
fix(monitor): only a Nervous-source hold passes its coded note as the…
AlbSar Oct 23, 2026
e212de9
feat(headless): S3-3 connect kind claude-cli-subscription (person onl…
AlbSar Oct 23, 2026
a195bb6
feat(headless): S3-4 Brain plans through the subscription CLI step vi…
AlbSar Oct 23, 2026
d9bc9d4
fix(headless): a connected subscription profile allows one call in fl…
AlbSar Oct 23, 2026
0436b51
test(headless): connect without flags finds the CLI in PATH by realpa…
AlbSar Oct 23, 2026
8d80841
merge a55/s6r6
AlbSar Oct 23, 2026
8075314
merge a55/s81 (S8-1a/S8-1b agent selection, standing, failure cause; …
AlbSar Oct 23, 2026
6afa713
merge a55/s3b (S3-3/S3-4 headless connect, consent, Brain wiring)
AlbSar Oct 23, 2026
9099f28
wip(s85): S8-5 signer keys, signed catalog writes, host custody, revo…
AlbSar Oct 23, 2026
f0b40fc
feat(brain): Q-H4 quota refusal waits short and visibly, then plans o…
AlbSar Oct 23, 2026
a93dabe
feat(run-inspect): a lost worker's task text follows the Run's frozen…
AlbSar Oct 23, 2026
cb60fdc
fix(monitor): the config tab names the memoryAutomation section (f3 i…
AlbSar Oct 23, 2026
0023762
test(config): m2's model-roles writer is a governed config writer rea…
AlbSar Oct 23, 2026
0d2b02c
merge a55/f3 (Brain quota wait, recovery-mode inspect text, monitor m…
AlbSar Oct 23, 2026
1103634
test(agents): S8-2 negatives first — integer Wilson oracles, registry…
AlbSar Oct 23, 2026
ca1409e
fix(config): models.headless.preview declares its on/off choice; the …
AlbSar Oct 23, 2026
61684a2
feat(agents): S8-2 catalog evolution statistics — integer Wilson, win…
AlbSar Oct 23, 2026
116e989
test(terminal): the held-Run window fixture uses the real hold shapes…
AlbSar Oct 23, 2026
4a389c6
wip(s85): tests, policy fixtures, help goldens, ai-floor report
AlbSar Oct 23, 2026
f9eae86
feat(s85): S8-5 signer keys and signed catalog writes (ledger v68)
AlbSar Oct 23, 2026
54f7f21
chore(arch): adapters ceiling 33500 (owner 2026-10-23; 31849 after s82)
AlbSar Oct 23, 2026
843ed51
fix(s85): signer bound counts active keys; one active action key per …
AlbSar Oct 23, 2026
24c80ec
merge a55/s85 (S8-5 signer keys, signed catalog writes; ledger v68)
AlbSar Oct 23, 2026
c5cdc3a
test(support): a terminal approval peer that exits before ready fails…
AlbSar Oct 23, 2026
07fba93
test(i18n): record the config.field.models text change (f4 item 2 fol…
AlbSar Oct 23, 2026
d474dc4
merge a55/integrate (s85 signer keys, ledger v68) into a55/s82: S8-2 …
AlbSar Oct 23, 2026
b32fa51
merge a55/s82 (S8-2 agent stats aggregation; ledger v69)
AlbSar Oct 23, 2026
6717035
chore(arch): composition ceiling 9800 (owner 2026-10-23; 8928 after s82)
AlbSar Oct 23, 2026
25b30d8
fix(memory): the purge journal cuts a torn tail before the next appen…
AlbSar Oct 23, 2026
a6cb116
feat(monitor): an active Brain quota wait is visible to the standalon…
AlbSar Oct 23, 2026
2955da4
feat(headless): S3-5 run every headless CLI spawn inside a bubblewrap…
AlbSar Oct 23, 2026
b6a74f6
merge a55/f4 (monitor Brain wait record, headless preview choice, fix…
AlbSar Oct 23, 2026
ea5a837
feat(headless): S3-5 the subscription Brain kind leaves preview; isol…
AlbSar Oct 23, 2026
d716c0f
feat(headless): S3-5 doctor names the realm; realm-failure and regist…
AlbSar Oct 23, 2026
6d17159
merge a55/s35 (S3-5 headless Brain isolation)
AlbSar Oct 23, 2026
bff19a0
test(agents): S8-3 negatives first — signed standing path + self-appr…
AlbSar Oct 23, 2026
f5b8002
feat(agents): S8-3 signed suggestions, rules, incremental pass, aggre…
AlbSar Oct 23, 2026
f6be8cf
test(terminal): /help pins 35 rows and the /roles Info line (f5 item 4)
AlbSar Oct 23, 2026
00be3e5
fix(config): models.headless.preview is retired, not offered as a swi…
AlbSar Oct 23, 2026
8b17137
test(memory): S4B-7 negatives first — rollout criteria from sealed re…
AlbSar Oct 23, 2026
beff41f
feat(memory): S4B-7 rollout — protected live switches with measured p…
AlbSar Oct 23, 2026
f77a7b7
fix(memory): the rollout status names the config set command with its…
AlbSar Oct 23, 2026
3055f44
fix(memory): the rollout status holds while a journal purge is missin…
AlbSar Oct 23, 2026
49891f9
merge a55/s4b7 (S4B-7 memory rollout gate, status, N1 pack)
AlbSar Oct 23, 2026
00a63ee
test(agents): S8-4 negatives first — person cards (CAS, stale/shadow/…
AlbSar Oct 23, 2026
325af3c
feat(agents): S8-4 cards, drafts at card time, signed AI command path…
AlbSar Oct 23, 2026
b2f5451
merge a55/integrate (49891f928) into a55/s834: monitor deps joined, h…
AlbSar Oct 23, 2026
352d6f8
feat(headless): the realm gateway's refusals are named in the call re…
AlbSar Oct 23, 2026
a7da911
fix(agents): the person holds suggest/narrow only to delegate them to…
AlbSar Oct 23, 2026
fbb498e
fix(agents): a reset card restoring a narrowed agent decides its rule…
AlbSar Oct 23, 2026
afb7373
merge a55/s834 (S8-3/S8-4 suggestions, cards, signed AI path, narrowi…
AlbSar Oct 23, 2026
b2adb8d
feat(headless): the realm bounds CPU time, memory and process count, …
AlbSar Oct 23, 2026
7042039
docs(alpha.55): release documents and version 1.0.0-alpha.55; alpha.5…
AlbSar Oct 23, 2026
784a81f
Merge branch 'a55/integrate' into a55/doc
AlbSar Oct 23, 2026
a9364bb
docs(alpha.55): S8-3/S8-4 facts after merging a55/integrate afb7373c6…
AlbSar Oct 23, 2026
396638b
merge a55/doc (alpha.55 docs, version 1.0.0-alpha.55)
AlbSar Oct 23, 2026
90e9470
docs(readme.tr): plain TR term 'dalı ilerlet' matches the catalogs (f1)
AlbSar Oct 23, 2026
5c3fe33
fix(headless): an interrupted turn is never named a realm bound (f5 i…
AlbSar Oct 23, 2026
c38a7ce
feat(headless): no spawn beside the CLI's own refresh lock; one spawn…
AlbSar Oct 23, 2026
65f7e4c
merge a55/integrate into a55/f5; f5 facts replace the DOC lane's TODO…
AlbSar Oct 23, 2026
de424ac
merge a55/f5 (headless realm bounds, gateway refusals, refresh-lock s…
AlbSar Oct 23, 2026
98fa69b
fix(config): catalogEvolution.mode and overlay declare their choice s…
AlbSar Oct 23, 2026
6af90da
fix(monitor): idle live reads recall again — config layer files, not …
AlbSar Oct 23, 2026
e7f6f54
fix(cli-kit): S8 agents actions declare single-word positionals in `r…
AlbSar Oct 23, 2026
c37ffaa
fix(brain): under the context byte bound a list keeps its first row; …
AlbSar Oct 23, 2026
157d5fe
feat(headless): the subscription Brain signs in to its own Deckent-ow…
AlbSar Oct 23, 2026
f6a20fe
merge a55/fs1 (full-suite #1 reds: monitor memo stamp, Brain context …
AlbSar Oct 23, 2026
1e8279a
test(headless): the lead's real-CLI acceptance defaults to the Brain'…
AlbSar Oct 23, 2026
49bb136
merge a55/s3c (Brain's own Deckent-owned Claude login dir; models login)
AlbSar Oct 23, 2026
857b2b8
fix(agent-catalog): a revoked producer key's suggestion is unconsumab…
AlbSar Oct 24, 2026
f3c9633
docs(alpha.55): core-layers, known-limits (EN/TR) and CHANGELOG say e…
AlbSar Oct 24, 2026
c9704fe
fix(cli-agents): define --input FILE --suggestion refuses an unusable…
AlbSar Oct 24, 2026
5468150
merge a55/r1 (REVISE 2742 R1: one suggestion validity check incl. pro…
AlbSar Oct 24, 2026
5155a70
fix(ci): shard 1 starts with its measured native/host/smoke cost so V…
AlbSar Oct 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 10 additions & 2 deletions .agents/refactor/ci-speed.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,21 @@ const receipts = () => inventory.map((file, i) => ({ schemaVersion: 1, ...identi
counts: { passed: 2, failed: 0, skipped: 0, pending: 0 } }] }));
test('duration allocation keeps known and new files exactly once and starts with the longest', () => {
const files = [...inventory, 'tests/new.test.ts'];
const plan = partitionTests(files, { [inventory[0]]: 10000, [inventory[1]]: 2000 }, 3);
const plan = partitionTests(files, { [inventory[0]]: 10000, [inventory[1]]: 2000 }, 3, 0);
assert.deepEqual(plan.flatMap(bin => bin.files).sort(), files.sort());
assert.equal(new Set(plan.flatMap(bin => bin.files)).size, files.length);
assert.ok(plan[0].files.includes(inventory[0]));
assert.deepEqual(partitionTests([...files].reverse(), { [inventory[0]]: 10000, [inventory[1]]: 2000 }, 3), plan);
assert.deepEqual(partitionTests([...files].reverse(), { [inventory[0]]: 10000, [inventory[1]]: 2000 }, 3, 0), plan);
assert.throws(() => partitionTests([inventory[0], inventory[0]], {}, 3), /duplicate/);
});
test('shard 1 starts with its reserved native/host/smoke cost, so Vitest files move to the other shards', () => {
const files = Array.from({ length: 6 }, (_, i) => `tests/r-${i}.test.ts`), durations = Object.fromEntries(files.map(f => [f, 1000]));
const plain = partitionTests(files, durations, 3, 0), reserved = partitionTests(files, durations, 3, 2500);
assert.equal(plain[0].files.length, 2);
assert.equal(reserved[0].files.length, 0);
assert.equal(reserved[0].durationMs, 2500);
assert.deepEqual(reserved.flatMap(bin => bin.files).sort(), [...files].sort());
});
test('aggregate accepts exact coverage and preserves actual skip counts', () => {
const r = receipts(); r[0].files[0].counts.skipped = 1;
assert.deepEqual(validateShards(inventory, r, identity).counts, { passed: inventory.length * 2, failed: 0, skipped: 1, pending: 0 });
Expand Down
201 changes: 201 additions & 0 deletions .deckent/docs/architecture/modules/core-layers.md

Large diffs are not rendered by default.

39 changes: 39 additions & 0 deletions .deckent/docs/architecture/operator-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,45 @@ already running continues. Answering a task's question and accepting or rejectin
`identity preview` without a selected profile reports `IDENTITY_PROFILE_NOT_SELECTED`; `identity distribute --scope <id>
[--apply]` on a terminal is chosen with arrow-key cards and a preview card.

## Core layers: memory, agents, model roles, recovery

alpha.55 adds these commands. Every core layer starts off; its switch is protected configuration that only a person writes, and the
new identities get their rights from policy template v15 (`deckent policy upgrade --template current --scope <id> --preview`, then
`--apply`). Behaviour and bounds: [core layers](modules/core-layers.md).

- **Model roles.** `deckent models roles [show]` lists every catalog model the scope sees with its maker, tier, roles and state; a
model without a row is pending and no role may use it. `deckent models roles set --channel <id> --model <exact id> --tier
worker|frontier (--roles <role,role> | --no-roles)` opens one card on your own terminal and writes one row of the global
`model_roles` overlay by compare-and-set. The terminal `/roles` window, MCP `inspect_model_roles` and the SDK `inspectModelRoles`
show the same read; `deckent doctor` names pending rows.
- **Memory.** `deckent memory` lists entries (`search <words>`, `inspect <id>`); `propose --input <file>`, `verify <id> --note <text>`,
`retire <id> | --source <run>[/<attempt>] --reason <text>`, `review` and `purge <id> | --source <run>[/<attempt>]` are cards on your
own terminal (AI tools, pipes and `--json` are refused). `deckent memory` also names the evaluator that would serve the scope and
the most its answers can cost a day; `deckent memory rollout [--scope <id>] [--json]` shows the phase, each criterion with its
numbers and the exact next `deckent config set memoryAutomation.<switch>.mode '"<mode>"' --scope <id>` command.
- **Agents and skills.** `deckent agents` lists agents (`inspect <id>`, `skills`, `skill <id>`, `stats [<id>]`); `define --input <file>`
and `define-skill --input <file>` are cards on your own terminal. MCP `list_agents`, `inspect_agent`, `list_skills`, `inspect_skill`
and `inspect_agent_stats` are read-only.
- **Agent suggestions and standing.** `deckent agents suggestions [list | show <suggestion-id>]` lists the sealed suggestions;
`promote|demote|restore|retire <agent-id> --work-class <id> [--suggestion <id>]`, `dismiss <suggestion-id>`,
`standing reset --work-class <id>` and `define|define-skill --from-suggestion <id> --id <new id>` are cards on your own terminal (the
draft is rendered at card time from what you may read). MCP `list_agent_suggestions` and `inspect_agent_suggestion` are read-only;
the signed write tools (`define_agent`, `define_skill`, `import_skill`, `change_agent_standing`, `dismiss_agent_suggestion`) work only
for an AI principal with its own active signer key and a scoped grant.
- **Signer keys.** `deckent agents signers` lists keys; `enrol-signer --principal <issuer:subject> --label <text>` creates a host-kept
action key for one AI or system principal, `add-signer --input <file>` registers an external public key, `revoke-signer <key-id>`
stops its new, pending and replayed actions at once, `repair-signers` repairs a broken revocation log and `import-skill --input <file>`
imports a pinned skill signed by an import key of the scope. All are cards on your own terminal.
- **Subscription Brain.** `deckent models connect claude-cli-subscription … [--executable <abs path>] [--config-dir <abs dir>]
[--delegate none|ai|system|ai,system]` connects your own Claude login (default `~/.claude`) for Brain planning; it is refused without a
usable bubblewrap sandbox. `--delegate` is your consent for AI or MCP planning and for background roles (recovery decision, memory
evaluator); absent keeps your earlier choice. `deckent doctor` shows a Brain login row per connection.
- **Quota question.** A worker Run whose quota wait ended asks you: `deckent run resume --quota wait` keeps waiting,
`deckent run resume --quota next-candidate` uses the next candidate of the WorkClass list; closing the Run stays a separate choice.
- **Recovery.** `deckent doctor` (row `work.recovery`) and the monitor show the Nervous and recovery modes and whether the owner's grant
`recovery-action`/`apply` `continue-new-attempt` exists (`deckent policy grants`); without the grant every lost-worker case goes to a
person. `deckent run inspect` names the Run's frozen recovery mode and shows hold reasons in words.

## Installation recovery sets

`deckent backup create|verify|restore` uses one governed contract. The installation owner needs the installation-wide
Expand Down
40 changes: 40 additions & 0 deletions .deckent/docs/architecture/operator-reference.tr.md
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,46 @@ ve görevi kabul ya da reddetmek ayrı kararlardır, buradaki tuşlar değildir.
`identity preview` `IDENTITY_PROFILE_NOT_SELECTED` bildirir; terminalde `identity distribute --scope <id> [--apply]` ok tuşlu
kartlarla ve bir önizleme kartıyla seçilir.

## Çekirdek katmanlar: hafıza, ajanlar, model rolleri, kurtarma

alpha.55 bu komutları ekler. Her çekirdek katman kapalı başlar; anahtarı yalnız bir kişinin yazdığı korumalı yapılandırmadır ve yeni
kimlikler haklarını politika şablonu v15'ten alır (`deckent policy upgrade --template current --scope <id> --preview`, sonra
`--apply`). Davranış ve sınırlar: [core layers](modules/core-layers.md).

- **Model rolleri.** `deckent models roles [show]` kapsamın gördüğü her katalog modelini üreticisi, tier'ı, rolleri ve durumuyla
listeler; satırı olmayan model beklemededir ve hiçbir rol onu kullanamaz. `deckent models roles set --channel <id> --model <tam kimlik>
--tier worker|frontier (--roles <rol,rol> | --no-roles)` kendi terminalinizde tek bir kart açar ve global `model_roles` katmanına
karşılaştır-ve-yaz ile tek satır yazar. Terminal `/roles` penceresi, MCP `inspect_model_roles` ve SDK `inspectModelRoles` aynı okumayı
gösterir; `deckent doctor` bekleyen satırları söyler.
- **Hafıza.** `deckent memory` kayıtları listeler (`search <sözcükler>`, `inspect <id>`); `propose --input <dosya>`, `verify <id> --note
<metin>`, `retire <id> | --source <run>[/<deneme>] --reason <metin>`, `review` ve `purge <id> | --source <run>[/<deneme>]` kendi
terminalinizdeki kartlardır (AI araçları, borular ve `--json` reddedilir). `deckent memory` ayrıca kapsama hizmet edecek
değerlendiriciyi ve cevaplarının bir günde en çok neye mal olabileceğini söyler; `deckent memory rollout [--scope <id>] [--json]`
aşamayı, her ölçütü sayılarıyla ve sıradaki `deckent config set memoryAutomation.<anahtar>.mode '"<kip>"' --scope <id>` komutunu gösterir.
- **Ajanlar ve skill'ler.** `deckent agents` ajanları listeler (`inspect <id>`, `skills`, `skill <id>`, `stats [<id>]`); `define --input
<dosya>` ve `define-skill --input <dosya>` kendi terminalinizdeki kartlardır. MCP `list_agents`, `inspect_agent`, `list_skills`,
`inspect_skill` ve `inspect_agent_stats` salt okunurdur.
- **Ajan önerileri ve durum.** `deckent agents suggestions [list | show <öneri-kimliği>]` mühürlü önerileri listeler;
`promote|demote|restore|retire <ajan-kimliği> --work-class <id> [--suggestion <id>]`, `dismiss <öneri-kimliği>`,
`standing reset --work-class <id>` ve `define|define-skill --from-suggestion <id> --id <yeni kimlik>` kendi terminalinizdeki
kartlardır (taslak kart anında, okuyabildiklerinizden üretilir). MCP `list_agent_suggestions` ve `inspect_agent_suggestion` salt
okunurdur; imzalı yazma araçları (`define_agent`, `define_skill`, `import_skill`, `change_agent_standing`, `dismiss_agent_suggestion`)
yalnız kendi etkin imza anahtarı ve kapsamlı izni olan bir AI kimliği için çalışır.
- **İmza anahtarları.** `deckent agents signers` anahtarları listeler; `enrol-signer --principal <issuer:subject> --label <metin>` bir AI
ya da sistem kimliği için host'ta tutulan bir eylem anahtarı üretir, `add-signer --input <dosya>` dış bir açık anahtarı kaydeder,
`revoke-signer <anahtar-kimliği>` anahtarın yeni, bekleyen ve yeniden oynatılan eylemlerini hemen durdurur, `repair-signers` bozuk bir
iptal günlüğünü onarır ve `import-skill --input <dosya>` kapsamın bir içe aktarma anahtarıyla imzalı, sabitlenmiş bir skill'i içe aktarır.
Hepsi kendi terminalinizdeki kartlardır.
- **Abonelik Brain'i.** `deckent models connect claude-cli-subscription … [--executable <mutlak yol>] [--config-dir <mutlak dizin>]
[--delegate none|ai|system|ai,system]` Brain planlaması için kendi Claude girişinizi (varsayılan `~/.claude`) bağlar; kullanılabilir bir
bubblewrap korumalı alanı yoksa reddedilir. `--delegate`, AI ya da MCP üzerinden planlama ve arka plan rolleri (kurtarma kararı,
hafıza değerlendirici) için onayınızdır; verilmezse önceki seçiminiz kalır. `deckent doctor` her bağlantı için bir Brain girişi satırı gösterir.
- **Kota sorusu.** Kota beklemesi biten bir işçi Run'ı size sorar: `deckent run resume --quota wait` beklemeyi sürdürür,
`deckent run resume --quota next-candidate` WorkClass listesindeki sıradaki adayı kullanır; Run'ı kapatmak ayrı bir seçimdir.
- **Kurtarma.** `deckent doctor` (`work.recovery` satırı) ve izleyici Nervous ve kurtarma kiplerini ve owner'ın `recovery-action`/`apply`
`continue-new-attempt` izninin olup olmadığını gösterir (`deckent policy grants`); izin yoksa her kaybolan işçi vakası bir kişiye gider.
`deckent run inspect` Run'ın dondurduğu kurtarma kipini söyler ve bekletme nedenlerini sözcüklerle gösterir.

## Kurulum kurtarma setleri

`deckent backup create|verify|restore` tek bir yönetilen sözleşmeyi kullanır. Kurulum sahibinin kurulum geneli `backup` policy
Expand Down
Loading
Loading