@shardworks/astrolabe-apparatus 0.1.252 → 0.1.254
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/engines/patron-anima.d.ts +44 -24
- package/dist/engines/patron-anima.d.ts.map +1 -1
- package/dist/engines/patron-anima.js +70 -45
- package/dist/engines/patron-anima.js.map +1 -1
- package/dist/engines/reader-analyst.d.ts +0 -6
- package/dist/engines/reader-analyst.d.ts.map +1 -1
- package/dist/engines/reader-analyst.js +0 -6
- package/dist/engines/reader-analyst.js.map +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -141,7 +141,7 @@ The Astrolabe declares one book in Stacks:
|
|
|
141
141
|
| `astrolabe.plan-init` | Creates a PlanDoc from the originating mandate writ; validates codex presence |
|
|
142
142
|
| `astrolabe.inventory-check` | Validates that the reader produced a non-empty inventory |
|
|
143
143
|
| `astrolabe.reader-analyst` | Selects the primer role at engine-run time from live guild config: `sage-primer-attended` when `astrolabe.patronRole` is non-empty (every decision gets pre-filled so the downstream patron-anima principle-checks them all), `sage-primer-solo` otherwise (the primer carries the razor itself and only leaves razor-matched decisions unset for the patron). Mirrors the `anima-session` surface — same givens (`prompt`, `cwd`, `writ`, `metadata`) minus the `role` given, which the engine chooses. Run-time selection (per writ, not per guild startup) means the patron can reconfigure `astrolabe.patronRole` mid-experiment and the next brief behaves according to the live config. |
|
|
144
|
-
| `astrolabe.patron-anima` | Consults a configured Patron Anima to principle-check every decision the primer produced, under a tailored operational prompt that encodes the engine's mode discipline — one option per decision, principle-structural confidence calibration (`high` = one principle fires cleanly; `med` = multiple principles conflict and the anima resolves; `low` = no principle speaks, confirm the primer), narrow abstention by omission reserved for *irresolvable principle conflict* and *broken decision frame* only, and an explicit out-of-lane prohibition on codebase audit work.
|
|
144
|
+
| `astrolabe.patron-anima` | Consults a configured Patron Anima to principle-check every decision the primer produced, under a tailored operational prompt that encodes the engine's mode discipline — one option per decision, principle-structural confidence calibration (`high` = one principle fires cleanly; `med` = multiple principles conflict and the anima resolves; `low` = no principle speaks, confirm the primer), narrow abstention by omission reserved for *irresolvable principle conflict* and *broken decision frame* only, and an explicit out-of-lane prohibition on codebase audit work. In attended mode the primer contractually pre-fills `selected` on every decision; this engine reviews them all, launches the configured `patronRole` via a single-pass anima session, parses a single structured emission, and applies each valid verdict to `Decision.selected` (plus records the full verdict — confirm / override / fill-in with selection, confidence, rationale — on `Decision.patron`). No-ops when `astrolabe.patronRole` is unset or empty, or when the plan has no decisions. Unparseable output, invalid verdicts, and abstained decisions have `Decision.selected` and `Decision.patronOverride` cleared — decision-review's `selected === undefined` filter surfaces the remainder to the patron in the normal flow. |
|
|
145
145
|
| `astrolabe.decision-review` | Two-pass engine: blocks for patron review, then reconciles answers. Decisions with `selected` already pre-set by the primer or the patron anima are auto-accepted — they are excluded from the InputRequestDoc, and if nothing remains reviewable the engine fast-paths to `writing` without opening the gate. |
|
|
146
146
|
| `astrolabe.plan-finalize` | Transitions the plan to `completed` and yields the written `spec` downstream. Does not post any writ. Used inside `plan-and-ship` to hand the spec off to the implement engine on the same mandate rig. |
|
|
147
147
|
| `astrolabe.observation-lift` | Walks `plan.observations` after `plan-finalize` has transitioned the plan to `completed` and, per record, calls `clerk.post({ type: 'mandate', title, body, codex, parentId, draft: true })` and then `clerk.link(newWritId, planId, 'depends on', 'spider.follows')`. The post creates a draft mandate writ as a child of the originating mandate (parent-child edge for provenance); the link installs a `spider.follows` precedence-dependency edge from the lifted writ back to the originating mandate, enlisting the Spider's `trySpawn` gate to hold each lifted writ until the originating mandate reaches a terminal state (release on `completed`/`cancelled`, cascade to `stuck` on `failed`). Each created writ enters `new` (draft) phase, invisible to the Spider until a curator publishes it; the precedence edge then takes effect. Silently no-ops when `observations` is empty, absent, or a legacy string; fails fast on the first `clerk.post` or `clerk.link` error — already-created post+link pairs persist under the mandate, and on a `clerk.link` failure the current observation's writ persists as a draft without the dependency edge for curator reconciliation. Does not mutate the plan — the parent-child edge and the `spider.follows` edge together form the audit trail. Wired unconditionally into the plan-and-ship rig template. |
|
|
@@ -2,12 +2,23 @@
|
|
|
2
2
|
* patron-anima clockwork engine.
|
|
3
3
|
*
|
|
4
4
|
* Between `inventory-check` and `decision-review`, consults a configured
|
|
5
|
-
* Patron Anima to principle-check every decision the primer produced.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
5
|
+
* Patron Anima to principle-check *every* decision the primer produced.
|
|
6
|
+
* Under attended mode the primer contractually pre-fills `selected` on
|
|
7
|
+
* every decision (so auto-acceptance never silently happens without
|
|
8
|
+
* principle-check); patron-anima then reviews them all and confirms
|
|
9
|
+
* (including `low`-confidence confirms), overrides, fills in, or
|
|
10
|
+
* narrowly abstains.
|
|
11
|
+
*
|
|
12
|
+
* Abstention as absence — decision-review coupling:
|
|
13
|
+
* When the anima abstains on a decision (by omitting it from the
|
|
14
|
+
* emission array), `collect()` clears both `Decision.selected` and
|
|
15
|
+
* `Decision.patronOverride` on that decision. The engine relies on
|
|
16
|
+
* its consumer — `decision-review` — honouring the invariant that
|
|
17
|
+
* `selected === undefined` means "the decision still needs patron
|
|
18
|
+
* attention." Custom rigs that replace or precede `decision-review`
|
|
19
|
+
* must preserve this contract, or abstentions will silently
|
|
20
|
+
* auto-accept. `Decision.patron` is deliberately left alone so any
|
|
21
|
+
* prior verdict from a retry is preserved.
|
|
11
22
|
*
|
|
12
23
|
* Operational discipline (the tailored work prompt):
|
|
13
24
|
* The anima runs under a checked-in operational prompt — the static
|
|
@@ -35,8 +46,9 @@
|
|
|
35
46
|
* options are incoherent as posed, so no valid emission would be
|
|
36
47
|
* faithful to the patron's intent). Every other case — including
|
|
37
48
|
* principle-absence — resolves to a first-class emission. The
|
|
38
|
-
* engine treats a missing verdict as "
|
|
39
|
-
*
|
|
49
|
+
* engine treats a missing verdict as "abstained": `selected` and
|
|
50
|
+
* `patronOverride` are cleared so `decision-review` surfaces the
|
|
51
|
+
* decision to the patron.
|
|
40
52
|
* - Out-of-lane prohibition. The draft worktree `cwd` passed to the
|
|
41
53
|
* anima permits filesystem access, but the prompt explicitly
|
|
42
54
|
* forbids file reads, grep, codebase audit, and second-guessing
|
|
@@ -47,16 +59,24 @@
|
|
|
47
59
|
* guild.json["astrolabe"]["patronRole"]
|
|
48
60
|
* Qualified role name for the Patron Anima (e.g. 'guild.patron').
|
|
49
61
|
* When unset or empty, this engine no-ops — the pipeline proceeds
|
|
50
|
-
* exactly as it did before the engine existed.
|
|
62
|
+
* exactly as it did before the engine existed. When set, the engine
|
|
63
|
+
* summons the anima whenever the plan has any decisions.
|
|
51
64
|
*
|
|
52
65
|
* Run → Collect protocol:
|
|
53
|
-
* run() → loads the plan;
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* `
|
|
66
|
+
* run() → loads the plan; when `patronRole` is set and the plan
|
|
67
|
+
* has at least one decision, builds a single prompt
|
|
68
|
+
* covering every decision and launches an anima session
|
|
69
|
+
* via `animator.summon()`. Returns
|
|
70
|
+
* `{ status: 'launched', sessionId }`. No-ops (completes
|
|
71
|
+
* with empty yields) when `patronRole` is unset/empty or
|
|
72
|
+
* the plan has no decisions.
|
|
57
73
|
* collect() → reads the session's `output` from Stacks, parses the
|
|
58
|
-
* emitted JSON verdict array,
|
|
59
|
-
*
|
|
74
|
+
* emitted JSON verdict array, and for every decision on
|
|
75
|
+
* the plan either applies the anima's verdict
|
|
76
|
+
* (`selected` + `patron`, `patronOverride` cleared) or —
|
|
77
|
+
* if the decision is absent from the emission — clears
|
|
78
|
+
* `selected` and `patronOverride` so the decision
|
|
79
|
+
* surfaces to the patron via `decision-review`.
|
|
60
80
|
*
|
|
61
81
|
* Output contract (the anima is asked for):
|
|
62
82
|
* The session's final message must be a single fenced JSON block
|
|
@@ -68,28 +88,28 @@
|
|
|
68
88
|
* primer on principle-absence; first-class emission)
|
|
69
89
|
* - `rationale` — short free-text note (optional)
|
|
70
90
|
* Decisions the anima abstains on — the two narrow cases above — are
|
|
71
|
-
* absent from the array; the engine
|
|
72
|
-
* "
|
|
91
|
+
* absent from the array; the engine treats absence as
|
|
92
|
+
* "surface to patron" by clearing `selected` / `patronOverride`.
|
|
73
93
|
*
|
|
74
94
|
* Exhaustiveness:
|
|
75
95
|
* Single pass. Any decision not carrying a well-formed verdict —
|
|
76
96
|
* because the anima abstained (omitted it), emitted malformed JSON,
|
|
77
|
-
* picked an unknown option, or the session failed entirely —
|
|
78
|
-
*
|
|
79
|
-
* normal flow. The engine does not retry.
|
|
97
|
+
* picked an unknown option, or the session failed entirely — has
|
|
98
|
+
* `selected` and `patronOverride` cleared on the PlanDoc and flows
|
|
99
|
+
* to `decision-review` in the normal flow. The engine does not retry.
|
|
80
100
|
*/
|
|
81
101
|
import type { EngineDesign } from '@shardworks/fabricator-apparatus';
|
|
82
102
|
import type { Book } from '@shardworks/stacks-apparatus';
|
|
83
103
|
import type { Decision, PatronEmission, PlanDoc } from '../types.ts';
|
|
84
104
|
/**
|
|
85
|
-
* Assemble the patron work prompt from the
|
|
105
|
+
* Assemble the patron work prompt from the plan's decisions.
|
|
86
106
|
*
|
|
87
107
|
* The static portion (preamble, mode discipline, out-of-lane prohibition,
|
|
88
108
|
* output contract, worked example) lives in `patron-anima-prompt.md` and is
|
|
89
109
|
* loaded into `PROMPT_TEMPLATE` at module load. This function renders each
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
110
|
+
* decision — question, optional context, options, optional primer
|
|
111
|
+
* recommendation / rationale — and substitutes the listing into the
|
|
112
|
+
* template's `{{DECISIONS}}` placeholder.
|
|
93
113
|
*/
|
|
94
114
|
export declare function buildPatronPrompt(decisions: Decision[]): string;
|
|
95
115
|
/** Extract the last fenced JSON block from an anima's output. Returns null if none. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patron-anima.d.ts","sourceRoot":"","sources":["../../src/engines/patron-anima.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"patron-anima.d.ts","sourceRoot":"","sources":["../../src/engines/patron-anima.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmGG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,kCAAkC,CAAC;AACxG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAKzD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAwBrE;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAmC/D;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa9D;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,QAAQ,EAAE,GACpB,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CA8E7B;AAID,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,CAoHvF"}
|
|
@@ -2,12 +2,23 @@
|
|
|
2
2
|
* patron-anima clockwork engine.
|
|
3
3
|
*
|
|
4
4
|
* Between `inventory-check` and `decision-review`, consults a configured
|
|
5
|
-
* Patron Anima to principle-check every decision the primer produced.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
5
|
+
* Patron Anima to principle-check *every* decision the primer produced.
|
|
6
|
+
* Under attended mode the primer contractually pre-fills `selected` on
|
|
7
|
+
* every decision (so auto-acceptance never silently happens without
|
|
8
|
+
* principle-check); patron-anima then reviews them all and confirms
|
|
9
|
+
* (including `low`-confidence confirms), overrides, fills in, or
|
|
10
|
+
* narrowly abstains.
|
|
11
|
+
*
|
|
12
|
+
* Abstention as absence — decision-review coupling:
|
|
13
|
+
* When the anima abstains on a decision (by omitting it from the
|
|
14
|
+
* emission array), `collect()` clears both `Decision.selected` and
|
|
15
|
+
* `Decision.patronOverride` on that decision. The engine relies on
|
|
16
|
+
* its consumer — `decision-review` — honouring the invariant that
|
|
17
|
+
* `selected === undefined` means "the decision still needs patron
|
|
18
|
+
* attention." Custom rigs that replace or precede `decision-review`
|
|
19
|
+
* must preserve this contract, or abstentions will silently
|
|
20
|
+
* auto-accept. `Decision.patron` is deliberately left alone so any
|
|
21
|
+
* prior verdict from a retry is preserved.
|
|
11
22
|
*
|
|
12
23
|
* Operational discipline (the tailored work prompt):
|
|
13
24
|
* The anima runs under a checked-in operational prompt — the static
|
|
@@ -35,8 +46,9 @@
|
|
|
35
46
|
* options are incoherent as posed, so no valid emission would be
|
|
36
47
|
* faithful to the patron's intent). Every other case — including
|
|
37
48
|
* principle-absence — resolves to a first-class emission. The
|
|
38
|
-
* engine treats a missing verdict as "
|
|
39
|
-
*
|
|
49
|
+
* engine treats a missing verdict as "abstained": `selected` and
|
|
50
|
+
* `patronOverride` are cleared so `decision-review` surfaces the
|
|
51
|
+
* decision to the patron.
|
|
40
52
|
* - Out-of-lane prohibition. The draft worktree `cwd` passed to the
|
|
41
53
|
* anima permits filesystem access, but the prompt explicitly
|
|
42
54
|
* forbids file reads, grep, codebase audit, and second-guessing
|
|
@@ -47,16 +59,24 @@
|
|
|
47
59
|
* guild.json["astrolabe"]["patronRole"]
|
|
48
60
|
* Qualified role name for the Patron Anima (e.g. 'guild.patron').
|
|
49
61
|
* When unset or empty, this engine no-ops — the pipeline proceeds
|
|
50
|
-
* exactly as it did before the engine existed.
|
|
62
|
+
* exactly as it did before the engine existed. When set, the engine
|
|
63
|
+
* summons the anima whenever the plan has any decisions.
|
|
51
64
|
*
|
|
52
65
|
* Run → Collect protocol:
|
|
53
|
-
* run() → loads the plan;
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* `
|
|
66
|
+
* run() → loads the plan; when `patronRole` is set and the plan
|
|
67
|
+
* has at least one decision, builds a single prompt
|
|
68
|
+
* covering every decision and launches an anima session
|
|
69
|
+
* via `animator.summon()`. Returns
|
|
70
|
+
* `{ status: 'launched', sessionId }`. No-ops (completes
|
|
71
|
+
* with empty yields) when `patronRole` is unset/empty or
|
|
72
|
+
* the plan has no decisions.
|
|
57
73
|
* collect() → reads the session's `output` from Stacks, parses the
|
|
58
|
-
* emitted JSON verdict array,
|
|
59
|
-
*
|
|
74
|
+
* emitted JSON verdict array, and for every decision on
|
|
75
|
+
* the plan either applies the anima's verdict
|
|
76
|
+
* (`selected` + `patron`, `patronOverride` cleared) or —
|
|
77
|
+
* if the decision is absent from the emission — clears
|
|
78
|
+
* `selected` and `patronOverride` so the decision
|
|
79
|
+
* surfaces to the patron via `decision-review`.
|
|
60
80
|
*
|
|
61
81
|
* Output contract (the anima is asked for):
|
|
62
82
|
* The session's final message must be a single fenced JSON block
|
|
@@ -68,15 +88,15 @@
|
|
|
68
88
|
* primer on principle-absence; first-class emission)
|
|
69
89
|
* - `rationale` — short free-text note (optional)
|
|
70
90
|
* Decisions the anima abstains on — the two narrow cases above — are
|
|
71
|
-
* absent from the array; the engine
|
|
72
|
-
* "
|
|
91
|
+
* absent from the array; the engine treats absence as
|
|
92
|
+
* "surface to patron" by clearing `selected` / `patronOverride`.
|
|
73
93
|
*
|
|
74
94
|
* Exhaustiveness:
|
|
75
95
|
* Single pass. Any decision not carrying a well-formed verdict —
|
|
76
96
|
* because the anima abstained (omitted it), emitted malformed JSON,
|
|
77
|
-
* picked an unknown option, or the session failed entirely —
|
|
78
|
-
*
|
|
79
|
-
* normal flow. The engine does not retry.
|
|
97
|
+
* picked an unknown option, or the session failed entirely — has
|
|
98
|
+
* `selected` and `patronOverride` cleared on the PlanDoc and flows
|
|
99
|
+
* to `decision-review` in the normal flow. The engine does not retry.
|
|
80
100
|
*/
|
|
81
101
|
import { readFileSync } from 'node:fs';
|
|
82
102
|
import { dirname, resolve } from 'node:path';
|
|
@@ -97,19 +117,15 @@ const __dirname = dirname(__filename);
|
|
|
97
117
|
const PROMPT_TEMPLATE = readFileSync(resolve(__dirname, '../../patron-anima-prompt.md'), 'utf-8');
|
|
98
118
|
const DECISIONS_PLACEHOLDER = '{{DECISIONS}}';
|
|
99
119
|
// ── Helpers ──────────────────────────────────────────────────────────
|
|
100
|
-
/** Reviewable = not yet pre-decided by the primer. Mirrors decision-review. */
|
|
101
|
-
function reviewableDecisions(plan) {
|
|
102
|
-
return (plan.decisions ?? []).filter(d => d.selected === undefined);
|
|
103
|
-
}
|
|
104
120
|
/**
|
|
105
|
-
* Assemble the patron work prompt from the
|
|
121
|
+
* Assemble the patron work prompt from the plan's decisions.
|
|
106
122
|
*
|
|
107
123
|
* The static portion (preamble, mode discipline, out-of-lane prohibition,
|
|
108
124
|
* output contract, worked example) lives in `patron-anima-prompt.md` and is
|
|
109
125
|
* loaded into `PROMPT_TEMPLATE` at module load. This function renders each
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
126
|
+
* decision — question, optional context, options, optional primer
|
|
127
|
+
* recommendation / rationale — and substitutes the listing into the
|
|
128
|
+
* template's `{{DECISIONS}}` placeholder.
|
|
113
129
|
*/
|
|
114
130
|
export function buildPatronPrompt(decisions) {
|
|
115
131
|
const lines = [];
|
|
@@ -267,10 +283,10 @@ export function createPatronAnimaEngine(getPlansBook) {
|
|
|
267
283
|
if (role === '') {
|
|
268
284
|
return { status: 'completed', yields: {} };
|
|
269
285
|
}
|
|
270
|
-
// Fast-path:
|
|
271
|
-
//
|
|
272
|
-
const
|
|
273
|
-
if (
|
|
286
|
+
// Fast-path: no decisions on the plan → no-op. The primer emitted
|
|
287
|
+
// nothing for the anima to weigh in on. (D13: keep this fast-path.)
|
|
288
|
+
const decisions = plan.decisions ?? [];
|
|
289
|
+
if (decisions.length === 0) {
|
|
274
290
|
return { status: 'completed', yields: {} };
|
|
275
291
|
}
|
|
276
292
|
const animator = guild().apparatus('animator');
|
|
@@ -278,7 +294,7 @@ export function createPatronAnimaEngine(getPlansBook) {
|
|
|
278
294
|
const cwd = typeof givens.cwd === 'string' && givens.cwd.length > 0
|
|
279
295
|
? givens.cwd
|
|
280
296
|
: process.cwd();
|
|
281
|
-
const prompt = buildPatronPrompt(
|
|
297
|
+
const prompt = buildPatronPrompt(decisions);
|
|
282
298
|
const handle = animator.summon({
|
|
283
299
|
role,
|
|
284
300
|
prompt,
|
|
@@ -306,20 +322,29 @@ export function createPatronAnimaEngine(getPlansBook) {
|
|
|
306
322
|
const sessionsBook = stacks.readBook('animator', 'sessions');
|
|
307
323
|
const session = await sessionsBook.get(sessionId);
|
|
308
324
|
const output = session?.output ?? '';
|
|
309
|
-
const
|
|
310
|
-
const emissionsByDecisionId = parseEmission(output,
|
|
311
|
-
//
|
|
312
|
-
//
|
|
325
|
+
const planDecisions = plan.decisions ?? [];
|
|
326
|
+
const emissionsByDecisionId = parseEmission(output, planDecisions);
|
|
327
|
+
// Walk every decision on the plan. Decisions the anima emitted a
|
|
328
|
+
// verdict for are stamped with `selected` + `patron`; decisions the
|
|
329
|
+
// anima abstained on (absent from the emission map) have `selected`
|
|
330
|
+
// and `patronOverride` cleared so decision-review's
|
|
331
|
+
// `selected === undefined` filter surfaces them to the patron.
|
|
332
|
+
// `Decision.patron` is deliberately left alone on abstention
|
|
333
|
+
// (D14 leave-patron).
|
|
313
334
|
const touched = [];
|
|
314
|
-
const decisions =
|
|
335
|
+
const decisions = planDecisions.map(d => ({ ...d }));
|
|
315
336
|
for (const decision of decisions) {
|
|
316
337
|
const emission = emissionsByDecisionId.get(decision.id);
|
|
317
|
-
if (
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
338
|
+
if (emission) {
|
|
339
|
+
decision.patron = emission;
|
|
340
|
+
decision.selected = emission.selection;
|
|
341
|
+
delete decision.patronOverride;
|
|
342
|
+
touched.push(decision.id);
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
delete decision.selected;
|
|
346
|
+
delete decision.patronOverride;
|
|
347
|
+
}
|
|
323
348
|
}
|
|
324
349
|
await book.patch(planId, {
|
|
325
350
|
decisions,
|
|
@@ -328,7 +353,7 @@ export function createPatronAnimaEngine(getPlansBook) {
|
|
|
328
353
|
return {
|
|
329
354
|
sessionId,
|
|
330
355
|
touchedDecisionIds: touched,
|
|
331
|
-
totalReviewable:
|
|
356
|
+
totalReviewable: planDecisions.length,
|
|
332
357
|
};
|
|
333
358
|
},
|
|
334
359
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patron-anima.js","sourceRoot":"","sources":["../../src/engines/patron-anima.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"patron-anima.js","sourceRoot":"","sources":["../../src/engines/patron-anima.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,12 +17,6 @@
|
|
|
17
17
|
* brief should behave according to the live config, not the config at the
|
|
18
18
|
* time the plugin loaded.
|
|
19
19
|
*
|
|
20
|
-
* The `selected === undefined` reviewable partition is preserved
|
|
21
|
-
* conceptually: the attended variant pre-fills every decision, so the
|
|
22
|
-
* partition is empty by construction and patron-anima no-ops for nothing-
|
|
23
|
-
* to-review; the solo variant leaves razor-matched decisions unset, which
|
|
24
|
-
* is the normal path for guilds without a patron-anima.
|
|
25
|
-
*
|
|
26
20
|
* Design contract mirrors `anima-session`:
|
|
27
21
|
* givens : prompt (required), cwd (required), writ (optional), metadata
|
|
28
22
|
* (optional). `role` is NOT accepted — the engine chooses it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader-analyst.d.ts","sourceRoot":"","sources":["../../src/engines/reader-analyst.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reader-analyst.d.ts","sourceRoot":"","sources":["../../src/engines/reader-analyst.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAKrE,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,mCAAmC,CAAC;AACrE,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,yBAAyB,IAAI,YAAY,CAmCxD"}
|
|
@@ -17,12 +17,6 @@
|
|
|
17
17
|
* brief should behave according to the live config, not the config at the
|
|
18
18
|
* time the plugin loaded.
|
|
19
19
|
*
|
|
20
|
-
* The `selected === undefined` reviewable partition is preserved
|
|
21
|
-
* conceptually: the attended variant pre-fills every decision, so the
|
|
22
|
-
* partition is empty by construction and patron-anima no-ops for nothing-
|
|
23
|
-
* to-review; the solo variant leaves razor-matched decisions unset, which
|
|
24
|
-
* is the normal path for guilds without a patron-anima.
|
|
25
|
-
*
|
|
26
20
|
* Design contract mirrors `anima-session`:
|
|
27
21
|
* givens : prompt (required), cwd (required), writ (optional), metadata
|
|
28
22
|
* (optional). `role` is NOT accepted — the engine chooses it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader-analyst.js","sourceRoot":"","sources":["../../src/engines/reader-analyst.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reader-analyst.js","sourceRoot":"","sources":["../../src/engines/reader-analyst.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAI/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,gEAAgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AACrE,iFAAiF;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAE7D;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,EAAE,EAAE,0BAA0B;QAE9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO;YACvB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,SAAS,CAAc,UAAU,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAA2B,CAAC;YAEhD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC7B,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE;gBACvE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBAC9E,mEAAmE;gBACnE,iEAAiE;gBACjE,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardworks/astrolabe-apparatus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.254",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,17 +20,17 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"zod": "4.3.6",
|
|
23
|
-
"@shardworks/stacks-apparatus": "0.1.
|
|
24
|
-
"@shardworks/
|
|
25
|
-
"@shardworks/
|
|
26
|
-
"@shardworks/
|
|
27
|
-
"@shardworks/
|
|
28
|
-
"@shardworks/
|
|
29
|
-
"@shardworks/
|
|
23
|
+
"@shardworks/stacks-apparatus": "0.1.254",
|
|
24
|
+
"@shardworks/spider-apparatus": "0.1.254",
|
|
25
|
+
"@shardworks/clerk-apparatus": "0.1.254",
|
|
26
|
+
"@shardworks/loom-apparatus": "0.1.254",
|
|
27
|
+
"@shardworks/animator-apparatus": "0.1.254",
|
|
28
|
+
"@shardworks/tools-apparatus": "0.1.254",
|
|
29
|
+
"@shardworks/fabricator-apparatus": "0.1.254"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "25.5.0",
|
|
33
|
-
"@shardworks/nexus-core": "0.1.
|
|
33
|
+
"@shardworks/nexus-core": "0.1.254"
|
|
34
34
|
},
|
|
35
35
|
"files": [
|
|
36
36
|
"dist",
|