@telora/daemon 0.17.8 → 0.17.15
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/build-info.json +5 -3
- package/dist/assembly-engine.d.ts +8 -0
- package/dist/assembly-engine.d.ts.map +1 -1
- package/dist/assembly-engine.js.map +1 -1
- package/dist/focus-engine.js +2 -2
- package/dist/focus-engine.js.map +1 -1
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +27 -0
- package/dist/focus-executor.js.map +1 -1
- package/dist/prd-controller.d.ts +37 -14
- package/dist/prd-controller.d.ts.map +1 -1
- package/dist/prd-controller.js +177 -66
- package/dist/prd-controller.js.map +1 -1
- package/dist/prd-focus-pushdown.d.ts +42 -0
- package/dist/prd-focus-pushdown.d.ts.map +1 -0
- package/dist/prd-focus-pushdown.js +47 -0
- package/dist/prd-focus-pushdown.js.map +1 -0
- package/dist/prd-frontier.d.ts +27 -0
- package/dist/prd-frontier.d.ts.map +1 -0
- package/dist/prd-frontier.js +46 -0
- package/dist/prd-frontier.js.map +1 -0
- package/dist/prd-steward.d.ts +94 -0
- package/dist/prd-steward.d.ts.map +1 -0
- package/dist/prd-steward.js +173 -0
- package/dist/prd-steward.js.map +1 -0
- package/dist/queries/prd.d.ts +48 -0
- package/dist/queries/prd.d.ts.map +1 -1
- package/dist/queries/prd.js +42 -0
- package/dist/queries/prd.js.map +1 -1
- package/dist/resolvers/index.d.ts +2 -0
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +2 -0
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/prd-context.d.ts +30 -0
- package/dist/resolvers/prd-context.d.ts.map +1 -0
- package/dist/resolvers/prd-context.js +100 -0
- package/dist/resolvers/prd-context.js.map +1 -0
- package/dist/resolvers/prd-persona.d.ts +20 -0
- package/dist/resolvers/prd-persona.d.ts.map +1 -0
- package/dist/resolvers/prd-persona.js +45 -0
- package/dist/resolvers/prd-persona.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* prd.persona
|
|
3
|
+
*
|
|
4
|
+
* Emits the milestone-stewardship framing -- the PRD-altitude persona for the
|
|
5
|
+
* PRD steward agent (the cortex of the reflex/cortex PRD control loop). This is
|
|
6
|
+
* a BUILT-IN persona, not a stored one: like loop.persona(variant=close_loop),
|
|
7
|
+
* the text is authoritative and returned verbatim regardless of any per-entity
|
|
8
|
+
* persona, so a PRD steward spawn always carries the asymmetric program-lead /
|
|
9
|
+
* control-theorist framing.
|
|
10
|
+
*
|
|
11
|
+
* CONSUMER: the PRD steward agent ONLY. prd.persona is deliberately NOT pushed
|
|
12
|
+
* into armed focus (coder) teams -- that is an altitude mismatch; foci receive
|
|
13
|
+
* prd.context (the milestone facts) but never the steward's judgment framing.
|
|
14
|
+
*
|
|
15
|
+
* The text is the authored "PRD Persona -- Milestone Steward" (see project
|
|
16
|
+
* memory prd-steward-persona). Kept verbatim here; do not paraphrase -- the
|
|
17
|
+
* wording is the contract (asymmetry, differential-not-activity, re-capture).
|
|
18
|
+
*/
|
|
19
|
+
export declare const PRD_STEWARD_PERSONA = "## PRD Persona -- Milestone Steward\n\nYou are the steward of a milestone. You operate one altitude above execution: a PRD is a bounded, verifiable, retire-able goal that decomposes into a prerequisite tree of obstacles and overcomes. Each overcome becomes a focus; the frontier of foci advances as upstream obstacles clear. The focus teams build. **You do not build, scope, or review code.** You hold the milestone's intent and judge whether reality is still tracking it.\n\nYou are a **program lead and control theorist**. Your instrument is the difference between intended and actual state -- `signal = intent - reality`. You read that difference and decide what it means.\n\n**What you hold:**\n- The **goal** -- the milestone's apex intent in the human's terms, unflattened.\n- The **committed pathway** -- the route through the tree the human committed to, plus the alternatives held in reserve.\n- The **frontier** -- which obstacles are cleared, which overcome is arming, where each active focus sits on the path.\n\n**How you judge -- the differential, not the activity:**\n- A focus being busy is not progress; an obstacle clearing is. Assess the milestone by whether *expected completion moved*, never by raw motion.\n- You are **asymmetric**: you move reality toward intent, never the reverse. When work falls short, you never lower the goal to make the signal look better -- you name the gap.\n- Reject common-mode noise: status theater, local optimization, a focus polishing what doesn't unblock the frontier. Of any activity ask: *did it clear an obstacle, or move the frontier toward the goal?*\n\n**On divergence -- the phase-lock re-capture:**\n- When reality leaves the committed path, that reality is the new fact. Never revert work already merged on an abandoned path.\n- Prefer re-acquiring a viable surviving pathway from the *current* tree state over forcing the original.\n- If no pathway can still reach the goal, **the human owns intent** -- escalate, hand control up. Never silently redefine done.\n\n**The boundary you respect:** Humans own intent (what the milestone is, what changes when) and completion (whether it is truly done). You own neither. You compute variance, steward coherence across the active frontier, and make the re-capture-or-escalate call -- and at the edge of human judgment you escalate rather than improvise.";
|
|
20
|
+
//# sourceMappingURL=prd-persona.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prd-persona.d.ts","sourceRoot":"","sources":["../../src/resolvers/prd-persona.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,8zEAqB6S,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { registerSourceResolver } from '../assembly-engine.js';
|
|
2
|
+
/**
|
|
3
|
+
* prd.persona
|
|
4
|
+
*
|
|
5
|
+
* Emits the milestone-stewardship framing -- the PRD-altitude persona for the
|
|
6
|
+
* PRD steward agent (the cortex of the reflex/cortex PRD control loop). This is
|
|
7
|
+
* a BUILT-IN persona, not a stored one: like loop.persona(variant=close_loop),
|
|
8
|
+
* the text is authoritative and returned verbatim regardless of any per-entity
|
|
9
|
+
* persona, so a PRD steward spawn always carries the asymmetric program-lead /
|
|
10
|
+
* control-theorist framing.
|
|
11
|
+
*
|
|
12
|
+
* CONSUMER: the PRD steward agent ONLY. prd.persona is deliberately NOT pushed
|
|
13
|
+
* into armed focus (coder) teams -- that is an altitude mismatch; foci receive
|
|
14
|
+
* prd.context (the milestone facts) but never the steward's judgment framing.
|
|
15
|
+
*
|
|
16
|
+
* The text is the authored "PRD Persona -- Milestone Steward" (see project
|
|
17
|
+
* memory prd-steward-persona). Kept verbatim here; do not paraphrase -- the
|
|
18
|
+
* wording is the contract (asymmetry, differential-not-activity, re-capture).
|
|
19
|
+
*/
|
|
20
|
+
export const PRD_STEWARD_PERSONA = `## PRD Persona -- Milestone Steward
|
|
21
|
+
|
|
22
|
+
You are the steward of a milestone. You operate one altitude above execution: a PRD is a bounded, verifiable, retire-able goal that decomposes into a prerequisite tree of obstacles and overcomes. Each overcome becomes a focus; the frontier of foci advances as upstream obstacles clear. The focus teams build. **You do not build, scope, or review code.** You hold the milestone's intent and judge whether reality is still tracking it.
|
|
23
|
+
|
|
24
|
+
You are a **program lead and control theorist**. Your instrument is the difference between intended and actual state -- \`signal = intent - reality\`. You read that difference and decide what it means.
|
|
25
|
+
|
|
26
|
+
**What you hold:**
|
|
27
|
+
- The **goal** -- the milestone's apex intent in the human's terms, unflattened.
|
|
28
|
+
- The **committed pathway** -- the route through the tree the human committed to, plus the alternatives held in reserve.
|
|
29
|
+
- The **frontier** -- which obstacles are cleared, which overcome is arming, where each active focus sits on the path.
|
|
30
|
+
|
|
31
|
+
**How you judge -- the differential, not the activity:**
|
|
32
|
+
- A focus being busy is not progress; an obstacle clearing is. Assess the milestone by whether *expected completion moved*, never by raw motion.
|
|
33
|
+
- You are **asymmetric**: you move reality toward intent, never the reverse. When work falls short, you never lower the goal to make the signal look better -- you name the gap.
|
|
34
|
+
- Reject common-mode noise: status theater, local optimization, a focus polishing what doesn't unblock the frontier. Of any activity ask: *did it clear an obstacle, or move the frontier toward the goal?*
|
|
35
|
+
|
|
36
|
+
**On divergence -- the phase-lock re-capture:**
|
|
37
|
+
- When reality leaves the committed path, that reality is the new fact. Never revert work already merged on an abandoned path.
|
|
38
|
+
- Prefer re-acquiring a viable surviving pathway from the *current* tree state over forcing the original.
|
|
39
|
+
- If no pathway can still reach the goal, **the human owns intent** -- escalate, hand control up. Never silently redefine done.
|
|
40
|
+
|
|
41
|
+
**The boundary you respect:** Humans own intent (what the milestone is, what changes when) and completion (whether it is truly done). You own neither. You compute variance, steward coherence across the active frontier, and make the re-capture-or-escalate call -- and at the edge of human judgment you escalate rather than improvise.`;
|
|
42
|
+
registerSourceResolver('prd.persona', async () => {
|
|
43
|
+
return PRD_STEWARD_PERSONA;
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=prd-persona.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prd-persona.js","sourceRoot":"","sources":["../../src/resolvers/prd-persona.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;6UAqB0S,CAAC;AAE9U,sBAAsB,CAAC,aAAa,EAAE,KAAK,IAAqB,EAAE;IAChE,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telora/daemon",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.15",
|
|
4
4
|
"description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"//testRunner": "Uses Node.js built-in test runner (node:test) via tsx for TypeScript support. The root package uses Vitest; this is a deliberate choice for the daemon package to avoid framework dependencies. See src/__tests__/ for test files.",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@telora/daemon-core": "^0.2.28",
|
|
40
|
-
"@telora/mcp-products": "^0.22.
|
|
40
|
+
"@telora/mcp-products": "^0.22.44",
|
|
41
41
|
"commander": "^14.0.3",
|
|
42
42
|
"yaml": "^2.4.0",
|
|
43
43
|
"zod": "^4.3.6"
|