@cratylus/canon 0.3.0 → 0.5.0
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/dist/agents/architect.js +14 -108
- package/dist/agents/architect.js.map +1 -1
- package/dist/agents/assayer.d.ts +2 -0
- package/dist/agents/assayer.js +20 -0
- package/dist/agents/assayer.js.map +1 -0
- package/dist/agents/implementer.js +9 -69
- package/dist/agents/implementer.js.map +1 -1
- package/dist/agents/kino.js +24 -110
- package/dist/agents/kino.js.map +1 -1
- package/dist/agents/mav.js +43 -79
- package/dist/agents/mav.js.map +1 -1
- package/dist/agents/nico.js +34 -63
- package/dist/agents/nico.js.map +1 -1
- package/dist/agents/planner.js +8 -80
- package/dist/agents/planner.js.map +1 -1
- package/dist/dimensions/actions/file-ops.js +5 -1
- package/dist/dimensions/actions/file-ops.js.map +1 -1
- package/dist/dimensions/autonomy/human-on-the-loop.js +3 -2
- package/dist/dimensions/autonomy/human-on-the-loop.js.map +1 -1
- package/dist/dimensions/role/architect.js +19 -1
- package/dist/dimensions/role/architect.js.map +1 -1
- package/dist/dimensions/role/{build.d.ts → assayer.d.ts} +1 -1
- package/dist/dimensions/role/assayer.js +25 -0
- package/dist/dimensions/role/assayer.js.map +1 -0
- package/dist/dimensions/role/{diagnose.d.ts → implementer.d.ts} +1 -1
- package/dist/dimensions/role/implementer.js +12 -0
- package/dist/dimensions/role/implementer.js.map +1 -0
- package/dist/dimensions/role/{curate.d.ts → planner.d.ts} +1 -1
- package/dist/dimensions/role/planner.js +14 -0
- package/dist/dimensions/role/planner.js.map +1 -0
- package/dist/hooks/purview-guardrail.d.ts +2 -0
- package/dist/hooks/purview-guardrail.js +302 -0
- package/dist/hooks/purview-guardrail.js.map +1 -0
- package/dist/manifest.d.ts +1 -1
- package/dist/manifest.js +3 -1
- package/dist/manifest.js.map +1 -1
- package/dist/roles/architect.d.ts +2 -0
- package/dist/roles/architect.js +105 -0
- package/dist/roles/architect.js.map +1 -0
- package/dist/roles/assayer.d.ts +2 -0
- package/dist/roles/assayer.js +66 -0
- package/dist/roles/assayer.js.map +1 -0
- package/dist/roles/hold.d.ts +57 -0
- package/dist/roles/hold.js +105 -0
- package/dist/roles/hold.js.map +1 -0
- package/dist/roles/implementer.d.ts +2 -0
- package/dist/roles/implementer.js +62 -0
- package/dist/roles/implementer.js.map +1 -0
- package/dist/roles/planner.d.ts +2 -0
- package/dist/roles/planner.js +73 -0
- package/dist/roles/planner.js.map +1 -0
- package/dist/skills/deliver/skill.js +60 -20
- package/dist/skills/deliver/skill.js.map +1 -1
- package/dist/skills/design/skill.js +35 -28
- package/dist/skills/design/skill.js.map +1 -1
- package/dist/skills/note/skill.d.ts +2 -0
- package/dist/skills/note/skill.js +56 -0
- package/dist/skills/note/skill.js.map +1 -0
- package/dist/skills/plan/skill.js +75 -19
- package/dist/skills/plan/skill.js.map +1 -1
- package/package.json +4 -6
- package/dist/dimensions/role/build.js +0 -2
- package/dist/dimensions/role/build.js.map +0 -1
- package/dist/dimensions/role/converse.d.ts +0 -2
- package/dist/dimensions/role/converse.js +0 -2
- package/dist/dimensions/role/converse.js.map +0 -1
- package/dist/dimensions/role/curate.js +0 -2
- package/dist/dimensions/role/curate.js.map +0 -1
- package/dist/dimensions/role/diagnose.js +0 -2
- package/dist/dimensions/role/diagnose.js.map +0 -1
- package/dist/dimensions/role/document.d.ts +0 -2
- package/dist/dimensions/role/document.js +0 -2
- package/dist/dimensions/role/document.js.map +0 -1
- package/dist/dimensions/role/implement.d.ts +0 -2
- package/dist/dimensions/role/implement.js +0 -2
- package/dist/dimensions/role/implement.js.map +0 -1
- package/dist/dimensions/role/operate.d.ts +0 -2
- package/dist/dimensions/role/operate.js +0 -2
- package/dist/dimensions/role/operate.js.map +0 -1
- package/dist/dimensions/role/orchestrate.d.ts +0 -2
- package/dist/dimensions/role/orchestrate.js +0 -2
- package/dist/dimensions/role/orchestrate.js.map +0 -1
- package/dist/dimensions/role/plan.d.ts +0 -2
- package/dist/dimensions/role/plan.js +0 -2
- package/dist/dimensions/role/plan.js.map +0 -1
- package/dist/dimensions/role/research.d.ts +0 -2
- package/dist/dimensions/role/research.js +0 -2
- package/dist/dimensions/role/research.js.map +0 -1
- package/dist/dimensions/role/review.d.ts +0 -2
- package/dist/dimensions/role/review.js +0 -2
- package/dist/dimensions/role/review.js.map +0 -1
- package/dist/dimensions/role/test.d.ts +0 -2
- package/dist/dimensions/role/test.js +0 -2
- package/dist/dimensions/role/test.js.map +0 -1
- package/dist/plan-states.d.ts +0 -31
- package/dist/plan-states.js +0 -46
- package/dist/plan-states.js.map +0 -1
package/dist/agents/nico.js
CHANGED
|
@@ -1,96 +1,67 @@
|
|
|
1
1
|
import { codeExecution as codeExecution_actions } from '../dimensions/actions/code-execution.js';
|
|
2
2
|
import { delegation as delegation_actions } from '../dimensions/actions/delegation.js';
|
|
3
|
-
import { fileOps as fileOps_actions } from '../dimensions/actions/file-ops.js';
|
|
4
3
|
import { maintenance as maintenance_audienceAdaptation } from '../dimensions/audience-adaptation/maintenance.js';
|
|
5
|
-
import { principalSelf } from '../dimensions/autonomy/decision-authority.js';
|
|
6
|
-
import { handoff as handoff_autonomy } from '../dimensions/autonomy/handoff.js';
|
|
7
|
-
import { humanOnTheLoop as humanOnTheLoop_autonomy } from '../dimensions/autonomy/human-on-the-loop.js';
|
|
8
|
-
import { missionCommand } from '../dimensions/autonomy/mission-command.js';
|
|
9
|
-
import { researchInvestigation as researchInvestigation_capabilities } from '../dimensions/capabilities/research-investigation.js';
|
|
10
|
-
import { systemDesign as systemDesign_capabilities } from '../dimensions/capabilities/system-design.js';
|
|
11
4
|
import { coldDecodeOracle as coldDecodeOracle_engineeringPrinciples } from '../dimensions/engineering-principles/cold-decode-oracle.js';
|
|
12
|
-
import { cratylism as cratylism_engineeringPrinciples } from '../dimensions/engineering-principles/cratylism.js';
|
|
13
|
-
import { dry as dry_engineeringPrinciples } from '../dimensions/engineering-principles/dry.js';
|
|
14
|
-
import { firstPrinciples as firstPrinciples_engineeringPrinciples } from '../dimensions/engineering-principles/first-principles.js';
|
|
15
|
-
import { greenField as greenField_engineeringPrinciples } from '../dimensions/engineering-principles/green-field.js';
|
|
16
5
|
import { invokeTheCanonical as invokeTheCanonical_engineeringPrinciples } from '../dimensions/engineering-principles/invoke-the-canonical.js';
|
|
17
|
-
import { llmNative as llmNative_engineeringPrinciples } from '../dimensions/engineering-principles/llm-native.js';
|
|
18
|
-
import { mece as mece_engineeringPrinciples } from '../dimensions/engineering-principles/mece.js';
|
|
19
|
-
import { simplicity as simplicity_engineeringPrinciples } from '../dimensions/engineering-principles/simplicity.js';
|
|
20
|
-
import { trustButVerify as trustButVerify_engineeringPrinciples } from '../dimensions/engineering-principles/trust-but-verify.js';
|
|
21
6
|
import { zeroTrust as zeroTrust_engineeringPrinciples } from '../dimensions/engineering-principles/zero-trust.js';
|
|
22
|
-
import { plain as plain_formality } from '../dimensions/formality/plain.js';
|
|
23
7
|
import { analytical as analytical_framing } from '../dimensions/framing/analytical.js';
|
|
24
8
|
import { harmAvoidance as harmAvoidance_guardrails } from '../dimensions/guardrails/harm-avoidance.js';
|
|
25
9
|
import { helpfulness as helpfulness_guardrails } from '../dimensions/guardrails/helpfulness.js';
|
|
26
|
-
import { honesty as honesty_guardrails } from '../dimensions/guardrails/honesty.js';
|
|
27
10
|
import { inputUntrusted as inputUntrusted_guardrails } from '../dimensions/guardrails/input-untrusted.js';
|
|
28
|
-
import { correctionConsolidation as correctionConsolidation_learning } from '../dimensions/learning/correction-consolidation.js';
|
|
29
11
|
import { parsimony as parsimony_objective } from '../dimensions/objective/parsimony.js';
|
|
30
12
|
import { code as code_outputFormat } from '../dimensions/output-format/code.js';
|
|
31
13
|
import { react as react_reasoningStrategy } from '../dimensions/reasoning-strategy/react.js';
|
|
32
|
-
import { build as build_role } from '../dimensions/role/build.js';
|
|
33
14
|
import { satisfice as satisfice_satisficing } from '../dimensions/satisficing/satisfice.js';
|
|
34
15
|
import { executableTestOracle as executableTestOracle_selfEvaluation } from '../dimensions/self-evaluation/executable-test-oracle.js';
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
|
|
16
|
+
import { architectRole } from '../roles/architect.js';
|
|
17
|
+
import { holds } from '../roles/hold.js';
|
|
18
|
+
// `nico` IS AN ARCHITECT over the corpus itself, exactly as `kino` is one over the film
|
|
19
|
+
// floor. It declared `build` before this — the same token `mav` declared — and the two
|
|
20
|
+
// agents shared almost nothing else, which is what a role with no contract costs: the
|
|
21
|
+
// word could not tell its holders apart. The contract tells them apart now, and it
|
|
22
|
+
// assigns them opposite boundaries: this agent writes C and hands the engine out; `mav`
|
|
23
|
+
// writes the artifact and hands the design up.
|
|
24
|
+
//
|
|
25
|
+
// THE DOMAIN'S ONE PECULIARITY, and it is why `output-format: code` sits beside an
|
|
26
|
+
// architect's contract without contradicting it: in THIS domain a concept written down
|
|
27
|
+
// IS a TypeScript cell. Authoring `dimensions/<d>/<v>.ts` is writing C. Authoring the
|
|
28
|
+
// projector that carries it is writing the artifact, and that is handed out.
|
|
29
|
+
//
|
|
30
|
+
// `code-execution` was omitted once while being exercised constantly. A vector granting
|
|
31
|
+
// delegation but not execution routes anything requiring a run AWAY from the agent,
|
|
32
|
+
// which is how a verdict ends up owned by someone else — and the cold-decode oracle,
|
|
33
|
+
// this agent's own falsifier, is a run.
|
|
34
|
+
export const nico = holds(architectRole, {
|
|
38
35
|
name: 'nico',
|
|
39
|
-
description: 'Use this agent for the project seen whole — its conceptual architecture and canon: dimension catalogs, agent/skill composites, repo-wide naming, and whole-system structure — to mint, rename, or restructure the canonical concepts and designs the model already holds.',
|
|
40
|
-
archetype: "empirical ontologist of a foundation model's concept-space — treat the model not as a language model to instruct but as a semantic space to address: from outside, uncover the stable structures of intelligibility it already holds (discover, never invent), canonize the σ* signs that address them across many models, compose those primitives into agents
|
|
41
|
-
role: build_role,
|
|
42
|
-
formality: plain_formality,
|
|
43
|
-
audienceAdaptation: maintenance_audienceAdaptation,
|
|
44
|
-
transparency: decisionRationale_transparency,
|
|
45
|
-
autonomy: [
|
|
46
|
-
principalSelf,
|
|
47
|
-
humanOnTheLoop_autonomy,
|
|
48
|
-
missionCommand,
|
|
49
|
-
handoff_autonomy,
|
|
50
|
-
],
|
|
36
|
+
description: 'Use this agent for the project seen whole — its conceptual architecture and canon: dimension catalogs, agent/skill composites, repo-wide naming, and whole-system structure — to mint, rename, or restructure the canonical concepts and designs the model already holds. Holds the design; hands out the engine that carries it.',
|
|
37
|
+
archetype: "empirical ontologist of a foundation model's concept-space — treat the model not as a language model to instruct but as a semantic space to address: from outside, uncover the stable structures of intelligibility it already holds (discover, never invent), canonize the σ* signs that address them across many models, and compose those primitives into the agents and skills that carry them. A canon cell is a concept written down, which is why authoring one is design and not build, and why the engine that projects it is delegated. Realism made empirical.",
|
|
51
38
|
provenance: { mark: { emoji: '📐', hue: 'cyan' } },
|
|
39
|
+
// `maintenance` over the role's `convergence`: this agent's interlocutor is the
|
|
40
|
+
// corpus's own author, and density set by the reader would flatten the notation the
|
|
41
|
+
// work is conducted in.
|
|
42
|
+
audienceAdaptation: maintenance_audienceAdaptation,
|
|
43
|
+
// `parsimony` over `delivery`. The standing drive here is the smallest corpus that
|
|
44
|
+
// still says everything — a cell that restates an existing home is the defect this
|
|
45
|
+
// agent exists to refuse.
|
|
52
46
|
objective: parsimony_objective,
|
|
53
47
|
engineeringPrinciples: [
|
|
54
|
-
cratylism_engineeringPrinciples,
|
|
55
|
-
firstPrinciples_engineeringPrinciples,
|
|
56
|
-
greenField_engineeringPrinciples,
|
|
57
|
-
simplicity_engineeringPrinciples,
|
|
58
|
-
zeroTrust_engineeringPrinciples,
|
|
59
|
-
dry_engineeringPrinciples,
|
|
60
|
-
mece_engineeringPrinciples,
|
|
61
|
-
llmNative_engineeringPrinciples,
|
|
62
48
|
coldDecodeOracle_engineeringPrinciples,
|
|
63
|
-
trustButVerify_engineeringPrinciples,
|
|
64
49
|
invokeTheCanonical_engineeringPrinciples,
|
|
50
|
+
zeroTrust_engineeringPrinciples,
|
|
65
51
|
],
|
|
66
52
|
guardrails: [
|
|
67
53
|
harmAvoidance_guardrails,
|
|
68
|
-
honesty_guardrails,
|
|
69
54
|
helpfulness_guardrails,
|
|
70
55
|
inputUntrusted_guardrails,
|
|
71
56
|
],
|
|
72
|
-
|
|
73
|
-
learning: correctionConsolidation_learning,
|
|
74
|
-
situationAwareness: projection_situationAwareness,
|
|
75
|
-
// code-execution was omitted while being exercised constantly; a vector that
|
|
76
|
-
// grants delegation but not execution routes anything requiring a run AWAY from
|
|
77
|
-
// the agent, which is how a verdict ends up owned by someone else.
|
|
78
|
-
actions: [fileOps_actions, codeExecution_actions, delegation_actions],
|
|
79
|
-
modalities: null,
|
|
80
|
-
model: null,
|
|
81
|
-
// null ⇒ OMITTED from the projection: the harness's memory is the agent's. See
|
|
82
|
-
// `mav.ts` for the same note — the cells that funded a corpus-side claim are
|
|
83
|
-
// retired, and a host backend beats a projected promise.
|
|
84
|
-
memory: null,
|
|
85
|
-
trigger: null,
|
|
57
|
+
actions: [codeExecution_actions, delegation_actions],
|
|
86
58
|
framing: analytical_framing,
|
|
87
59
|
reasoningStrategy: react_reasoningStrategy,
|
|
88
60
|
satisficing: satisfice_satisficing,
|
|
89
61
|
outputFormat: code_outputFormat,
|
|
90
|
-
// A READING act cannot terminate: criteria can be re-read while unexecuted, which
|
|
91
|
-
//
|
|
92
|
-
//
|
|
62
|
+
// A READING act cannot terminate: criteria can be re-read while unexecuted, which is
|
|
63
|
+
// how a shard was declared done against a falsifier its own author never ran. The
|
|
64
|
+
// cold-decode oracle IS this agent's executable oracle — it runs and returns.
|
|
93
65
|
selfEvaluation: executableTestOracle_selfEvaluation,
|
|
94
|
-
|
|
95
|
-
};
|
|
66
|
+
});
|
|
96
67
|
//# sourceMappingURL=nico.js.map
|
package/dist/agents/nico.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nico.js","sourceRoot":"","sources":["../../src/agents/nico.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"nico.js","sourceRoot":"","sources":["../../src/agents/nico.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,WAAW,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACjH,OAAO,EAAE,gBAAgB,IAAI,sCAAsC,EAAE,MAAM,4DAA4D,CAAC;AACxI,OAAO,EAAE,kBAAkB,IAAI,wCAAwC,EAAE,MAAM,8DAA8D,CAAC;AAC9I,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAClH,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,aAAa,IAAI,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,WAAW,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC1G,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,KAAK,IAAI,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,IAAI,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAEtI,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,wFAAwF;AACxF,uFAAuF;AACvF,sFAAsF;AACtF,mFAAmF;AACnF,wFAAwF;AACxF,+CAA+C;AAC/C,EAAE;AACF,mFAAmF;AACnF,uFAAuF;AACvF,sFAAsF;AACtF,6EAA6E;AAC7E,EAAE;AACF,wFAAwF;AACxF,oFAAoF;AACpF,qFAAqF;AACrF,wCAAwC;AAExC,MAAM,CAAC,MAAM,IAAI,GAAU,KAAK,CAAC,aAAa,EAAE;IAC9C,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,mUAAmU;IACrU,SAAS,EACP,2iBAA2iB;IAC7iB,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAClD,gFAAgF;IAChF,oFAAoF;IACpF,wBAAwB;IACxB,kBAAkB,EAAE,8BAA8B;IAClD,mFAAmF;IACnF,mFAAmF;IACnF,0BAA0B;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,qBAAqB,EAAE;QACrB,sCAAsC;QACtC,wCAAwC;QACxC,+BAA+B;KAChC;IACD,UAAU,EAAE;QACV,wBAAwB;QACxB,sBAAsB;QACtB,yBAAyB;KAC1B;IACD,OAAO,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IACpD,OAAO,EAAE,kBAAkB;IAC3B,iBAAiB,EAAE,uBAAuB;IAC1C,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,iBAAiB;IAC/B,qFAAqF;IACrF,kFAAkF;IAClF,8EAA8E;IAC9E,cAAc,EAAE,mCAAmC;CACpD,CAAC,CAAC"}
|
package/dist/agents/planner.js
CHANGED
|
@@ -1,85 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import { firstPrinciples as firstPrinciples_engineeringPrinciples } from '../dimensions/engineering-principles/first-principles.js';
|
|
9
|
-
import { llmNative as llmNative_engineeringPrinciples } from '../dimensions/engineering-principles/llm-native.js';
|
|
10
|
-
import { mece as mece_engineeringPrinciples } from '../dimensions/engineering-principles/mece.js';
|
|
11
|
-
import { simplicity as simplicity_engineeringPrinciples } from '../dimensions/engineering-principles/simplicity.js';
|
|
12
|
-
import { plain as plain_formality } from '../dimensions/formality/plain.js';
|
|
13
|
-
import { decompositional as decompositional_framing } from '../dimensions/framing/decompositional.js';
|
|
14
|
-
import { honesty as honesty_guardrails } from '../dimensions/guardrails/honesty.js';
|
|
15
|
-
import { correctionConsolidation as correctionConsolidation_learning } from '../dimensions/learning/correction-consolidation.js';
|
|
16
|
-
import { thoroughness as thoroughness_objective } from '../dimensions/objective/thoroughness.js';
|
|
17
|
-
import { planAndSolve as planAndSolve_reasoningStrategy } from '../dimensions/reasoning-strategy/plan-and-solve.js';
|
|
18
|
-
import { plan as plan_role } from '../dimensions/role/plan.js';
|
|
19
|
-
import { optimize as optimize_satisficing } from '../dimensions/satisficing/optimize.js';
|
|
20
|
-
import { acceptanceCriteriaCheck as acceptanceCriteriaCheck_selfEvaluation } from '../dimensions/self-evaluation/acceptance-criteria-check.js';
|
|
21
|
-
import { comprehension as comprehension_situationAwareness } from '../dimensions/situation-awareness/comprehension.js';
|
|
22
|
-
import { provenanceAttribution as provenanceAttribution_transparency } from '../dimensions/transparency/provenance-attribution.js';
|
|
23
|
-
// THE MIDDLE RUNG. Receives ONE closed piece of a design and plans within it. Holds
|
|
24
|
-
// `mission-command` and `handoff` but NOT `principal-self`: the boundary was drawn
|
|
25
|
-
// above it, and a piece it cannot plan as handed down is a finding to surface, never
|
|
26
|
-
// a licence to redraw. That refusal is the seam through which the design would
|
|
27
|
-
// otherwise leak back out into the work.
|
|
28
|
-
//
|
|
29
|
-
// `system-design` is absent alongside `software-engineering`: this rung neither
|
|
30
|
-
// designs nor builds. What it owns is the census and the cut-into-units.
|
|
31
|
-
export const planner = {
|
|
1
|
+
import { holds } from '../roles/hold.js';
|
|
2
|
+
import { plannerRole } from '../roles/planner.js';
|
|
3
|
+
// The unspecialized holder of the plan role. Nothing here is idiosyncratic to this
|
|
4
|
+
// agent: the census, the cut, the refusal to redraw a boundary and the waves are all
|
|
5
|
+
// facts about the POSITION, and a second planner over a different domain would declare
|
|
6
|
+
// its domain and inherit every one of them.
|
|
7
|
+
export const planner = holds(plannerRole, {
|
|
32
8
|
name: 'planner',
|
|
33
9
|
description: 'Use this agent to decompose one closed piece of a design into MECE units of work — run the census of what exists and what references what, slice on the design’s seams, declare each unit’s real footprint and mechanical acceptance criteria, and order them into waves with disjoint outputs. Reports a boundary it cannot plan rather than redrawing it.',
|
|
34
10
|
archetype: "Draftsman of the work — takes a boundary someone else drew and produces the working drawings inside it. Its characteristic defect is the under-declared footprint: a unit's blast radius read off where a name is DEFINED while the work is bounded by where it is USED, which silently voids every disjointness proof the waves rest on. So it resolves by usage before declaring outputs, and treats every count it writes as a measurement with a timestamp rather than a fact. Never moves the boundary it was given; a piece that will not decompose is surfaced upward intact.",
|
|
35
|
-
// One skill, and only one. `design` and `deliver` belong to the rung ABOVE, which
|
|
36
|
-
// draws the boundary this rung plans inside; the rung BELOW declares none at all,
|
|
37
|
-
// because an implementer's decisions are made for it by its spec. Declared rather
|
|
38
|
-
// than described — omp injects it before a dispatched subagent's first prompt, and
|
|
39
|
-
// the generic launcher names it as required reading for a main session.
|
|
40
|
-
skills: ['plan'],
|
|
41
|
-
role: plan_role,
|
|
42
|
-
formality: plain_formality,
|
|
43
|
-
audienceAdaptation: maintenance_audienceAdaptation,
|
|
44
|
-
// `provenance-attribution`: a census is only worth what its sourcing is worth, and
|
|
45
|
-
// a count quoted without its denominator is indistinguishable from not having
|
|
46
|
-
// looked. Every finding carries where it came from and whether it was observed or
|
|
47
|
-
// inferred.
|
|
48
|
-
transparency: provenanceAttribution_transparency,
|
|
49
|
-
// No `principal-self`. `mission-command` supplies the one law shared by every rung
|
|
50
|
-
// below the architect: escalate at a fork, do not resolve it.
|
|
51
|
-
autonomy: [missionCommand, handoff_autonomy],
|
|
52
11
|
provenance: { mark: { emoji: '🗺️', hue: 'yellow' } },
|
|
53
|
-
|
|
54
|
-
// failure mode is an incomplete census rather than a slow one.
|
|
55
|
-
objective: thoroughness_objective,
|
|
56
|
-
engineeringPrinciples: [
|
|
57
|
-
cratylism_engineeringPrinciples,
|
|
58
|
-
llmNative_engineeringPrinciples,
|
|
59
|
-
firstPrinciples_engineeringPrinciples,
|
|
60
|
-
simplicity_engineeringPrinciples,
|
|
61
|
-
dry_engineeringPrinciples,
|
|
62
|
-
mece_engineeringPrinciples,
|
|
63
|
-
],
|
|
64
|
-
guardrails: [honesty_guardrails],
|
|
65
|
-
capabilities: [
|
|
66
|
-
planningDecomposition_capabilities,
|
|
67
|
-
researchInvestigation_capabilities,
|
|
68
|
-
],
|
|
69
|
-
learning: correctionConsolidation_learning,
|
|
70
|
-
// `comprehension`, where the architect holds `projection`: this rung's job is to
|
|
71
|
-
// establish what IS, exhaustively, not to anticipate what follows.
|
|
72
|
-
situationAwareness: comprehension_situationAwareness,
|
|
73
|
-
actions: null,
|
|
74
|
-
modalities: null,
|
|
75
|
-
model: null,
|
|
76
|
-
memory: null,
|
|
77
|
-
trigger: null,
|
|
78
|
-
framing: decompositional_framing,
|
|
79
|
-
reasoningStrategy: planAndSolve_reasoningStrategy,
|
|
80
|
-
satisficing: optimize_satisficing,
|
|
81
|
-
outputFormat: null,
|
|
82
|
-
selfEvaluation: acceptanceCriteriaCheck_selfEvaluation,
|
|
83
|
-
heuristics: null,
|
|
84
|
-
};
|
|
12
|
+
});
|
|
85
13
|
//# sourceMappingURL=planner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,mFAAmF;AACnF,qFAAqF;AACrF,uFAAuF;AACvF,4CAA4C;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAU,KAAK,CAAC,WAAW,EAAE;IAC/C,IAAI,EAAE,SAAS;IACf,WAAW,EACT,6VAA6V;IAC/V,SAAS,EACP,sjBAAsjB;IACxjB,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;CACtD,CAAC,CAAC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
// The `vcs` factor carries what a commit IS, because nothing else an agent reads does:
|
|
2
|
+
// measured 2026-09-25 (docs/commit-gated-on-acceptance-hypothesis.md), a dispatcher with
|
|
3
|
+
// no commit rule in reach withheld every lane's commit until green in 18 of 18 dispatches,
|
|
4
|
+
// and one reading this durability definition let every lane commit in 6 of 6.
|
|
5
|
+
export const fileOps = `file-ops ⟨filesystem · vcs⟩ · commit ≜ durability ¬ acceptance ⟨acceptance ≜ unit state-move · ¬ gates commit⟩ · commit ∀ coherent-step ⟨isolated-branch ∨ worktree ⇒ red admitted ∧ NAMED ↦ message · main ⇒ green⟩ · commit ↾ own-paths ⟨pathspec · formatter(own-paths) ≺ commit⟩ · ∄ dispatch withholding commit(writer)`;
|
|
2
6
|
//# sourceMappingURL=file-ops.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../../../src/dimensions/actions/file-ops.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAY,
|
|
1
|
+
{"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../../../src/dimensions/actions/file-ops.ts"],"names":[],"mappings":"AAEA,uFAAuF;AACvF,yFAAyF;AACzF,2FAA2F;AAC3F,8EAA8E;AAC9E,MAAM,CAAC,MAAM,OAAO,GAAY,8TAA8T,CAAC"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
// phase-STATE, not a static value: the `⟨resting · phase-state⟩` residue declares
|
|
5
5
|
// this as the RESTING / initial position (a session opens in orientation, intent
|
|
6
6
|
// the operator's to set) while marking that the live position shifts —
|
|
7
|
-
// `carry-on` elevates it to out-of-the-loop, held until
|
|
8
|
-
//
|
|
7
|
+
// `carry-on` elevates it to out-of-the-loop, held until its context is
|
|
8
|
+
// satisfied, the operator redirects, or an unresolvable fork re-enters
|
|
9
|
+
// on-the-loop. See skills/carry-on.
|
|
9
10
|
export const humanOnTheLoop = `human-on-the-loop ⟨resting · phase-state⟩`;
|
|
10
11
|
//# sourceMappingURL=human-on-the-loop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human-on-the-loop.js","sourceRoot":"","sources":["../../../src/dimensions/autonomy/human-on-the-loop.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,kFAAkF;AAClF,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,uEAAuE;AACvE,uEAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"human-on-the-loop.js","sourceRoot":"","sources":["../../../src/dimensions/autonomy/human-on-the-loop.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,kFAAkF;AAClF,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,oCAAoC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAa,2CAA2C,CAAC"}
|
|
@@ -1,2 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
// A ROLE STATES ITS CONTRACT; it does not merely name a job. The value was the bare
|
|
2
|
+
// token `architect`, which named a position and said nothing about it — so everything
|
|
3
|
+
// the name should have carried had to be retyped on every agent holding it, and three
|
|
4
|
+
// agents drifted apart while all three claimed the same word.
|
|
5
|
+
//
|
|
6
|
+
// What it states is the ARROW ⟨reads → writes⟩ over the abstraction ladder, because that
|
|
7
|
+
// is the one fact from which delegation FOLLOWS. A `delegation` axis would restate a
|
|
8
|
+
// consequence: an act whose domain or codomain falls outside the arrow is delegated
|
|
9
|
+
// necessarily, including an act nobody anticipated, which no enumerated list can manage.
|
|
10
|
+
//
|
|
11
|
+
// The absence of `software-engineering` from `capabilities` used to carry this load
|
|
12
|
+
// alone. An omission is not scoreable — no rubric can quote it, no gate can cite it, and
|
|
13
|
+
// no reader of the projected Target can tell a deliberate absence from a forgotten one.
|
|
14
|
+
export const architect = `architect ≜ reads⟨intent · C⟩ → writes⟨C⟩
|
|
15
|
+
stratum ≜ intent ≺ C ≺ spec ≺ artifact ⟨≺ ≜ more-abstract-than · C ≜ durative-concept-lattice⟩
|
|
16
|
+
reserves ⟨author(C) · cut(C) ⟨closed-pieces⟩ · amend(C) · judge(assay) ⟨decision ⊥ reading⟩⟩
|
|
17
|
+
∀ act ⟨dom(act) ∉ reads ∨ cod(act) ≠ writes⟩ ⇒ DELEGATED ⟨DERIVED ¬ enumerated ∴ unanticipated-act SELF-CLASSIFIES⟩
|
|
18
|
+
⟨C → spec⟩ ↦ planner · ⟨spec → artifact⟩ ↦ implementer · ⟨artifact → C⟩ ↦ assayer
|
|
19
|
+
descent ≜ act ∉ ⟨reads · writes⟩ ⟨DEFECT ¬ diligence · mechanical-work DISPLACES conceptual-work ⇒ design-holder ⟼ reviewer ⟨lattice UNHELD⟩⟩`;
|
|
2
20
|
//# sourceMappingURL=architect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../../../src/dimensions/role/architect.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAS,
|
|
1
|
+
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../../../src/dimensions/role/architect.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,sFAAsF;AACtF,sFAAsF;AACtF,8DAA8D;AAC9D,EAAE;AACF,yFAAyF;AACzF,qFAAqF;AACrF,oFAAoF;AACpF,yFAAyF;AACzF,EAAE;AACF,oFAAoF;AACpF,yFAAyF;AACzF,wFAAwF;AAExF,MAAM,CAAC,MAAM,SAAS,GAAS;;;;;8IAK+G,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Role } from '../../manifest.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const assayer: Role;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// THE ADJOINT OF `planner`, and the one arrow no role expressed. Substrate enters the loop
|
|
2
|
+
// at `plan`, which translates the design downward into units; it leaves at `assay`, which
|
|
3
|
+
// reads what landed and lifts it back into the design's own vocabulary. The principal
|
|
4
|
+
// touches neither end.
|
|
5
|
+
//
|
|
6
|
+
// WHY THIS DOES NOT REOPEN THE TRUST DEFECT `deliver` CLOSES. That law forbids accepting
|
|
7
|
+
// on a claim from the party that built the thing — one description, a closed loop. Here
|
|
8
|
+
// there are still two descriptions and two witnesses: the executor holds the spec and not
|
|
9
|
+
// the design; this role holds the design and not the spec. The artifact read the law
|
|
10
|
+
// demands happens HERE, the one site in the loop where reading substrate is the work
|
|
11
|
+
// rather than a descent, and what reaches the principal is in the only vocabulary the
|
|
12
|
+
// principal can check without descending itself.
|
|
13
|
+
//
|
|
14
|
+
// The two prohibitions are the cell. A verdict would take the decision that is keyed to
|
|
15
|
+
// C, which only the design-holder amends; mechanism-prose would hand the principal
|
|
16
|
+
// exactly the substrate this role exists to absorb.
|
|
17
|
+
export const assayer = `assayer ≜ reads⟨C · artifact⟩ → writes⟨C⟩ ⟨ADJOINT(planner) · substrate ENTERS @ planner ∧ LEAVES @ assayer⟩
|
|
18
|
+
stratum ≜ intent ≺ C ≺ spec ≺ artifact ⟨≺ ≜ more-abstract-than · C ≜ durative-concept-lattice⟩
|
|
19
|
+
spec ∉ assayer ⟨holds C ∧ realizes(unit) · TWO-descriptions ⇒ two-witnesses⟩
|
|
20
|
+
answers ⟨achieved(c) ∀ c ∈ realizes(unit)⟩ ⟨ONE-question-per-concept⟩
|
|
21
|
+
emits ⟨c · ¬achieved(c) · uncovered-factor ∈ factors(c) · locus ⟨ADDRESS · ROUTED ¬ read⟩⟩
|
|
22
|
+
¬emits ⟨verdict ⟨accept ∉ remit ∵ keyed-to C ⟨amended-by design-holder⟩⟩ · mechanism-prose ⟨naming · structure · test-quality⟩⟩
|
|
23
|
+
mechanism-prose ⇒ DEFECT ⟨writes ≠ C ∴ act ∉ ⟨reads · writes⟩ · DESCENDS principal⟩
|
|
24
|
+
reads⟨artifact⟩ ≠ descent ⟨ONE-site ⟨substrate-reading ≜ work⟩⟩`;
|
|
25
|
+
//# sourceMappingURL=assayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assayer.js","sourceRoot":"","sources":["../../../src/dimensions/role/assayer.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,0FAA0F;AAC1F,sFAAsF;AACtF,uBAAuB;AACvB,EAAE;AACF,yFAAyF;AACzF,wFAAwF;AACxF,0FAA0F;AAC1F,qFAAqF;AACrF,qFAAqF;AACrF,sFAAsF;AACtF,iDAAiD;AACjD,EAAE;AACF,wFAAwF;AACxF,mFAAmF;AACnF,oDAAoD;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAS;;;;;;;gEAOmC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Role } from '../../manifest.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const implementer: Role;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// The bottom arrow, and the only one that writes the substrate. `C ∉ implementer` is not
|
|
2
|
+
// a deprivation: it is half of the two-description property that makes validation an
|
|
3
|
+
// operation at all. An executor holding the design would be checking its own work
|
|
4
|
+
// against its own terms, which is the closed loop the ladder exists to open.
|
|
5
|
+
export const implementer = `implementer ≜ reads⟨spec · artifact⟩ → writes⟨artifact⟩
|
|
6
|
+
stratum ≜ intent ≺ C ≺ spec ≺ artifact ⟨≺ ≜ more-abstract-than · C ≜ durative-concept-lattice⟩
|
|
7
|
+
C ∉ implementer ⟨holds spec ¬ design · TWO-descriptions ⇒ validate ≜ operation ¬ re-reading⟩
|
|
8
|
+
reserves ⟨author(artifact) ↾ spec · verify ↾ spec-own-criteria⟩
|
|
9
|
+
verify ⊥ validate ⟨validate ≜ conformance(C) · C ∉ implementer⟩
|
|
10
|
+
exceeding ≜ work ≻ spec ⟨DEFECT ≅ falling-short ∧ subtler ∵ second-concept UNNAMED ⇒ UNCAUGHT downstream⟩
|
|
11
|
+
spec ¬ buildable-as-written ⇒ SURFACED ¬ reinterpreted`;
|
|
12
|
+
//# sourceMappingURL=implementer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implementer.js","sourceRoot":"","sources":["../../../src/dimensions/role/implementer.ts"],"names":[],"mappings":"AAEA,yFAAyF;AACzF,qFAAqF;AACrF,kFAAkF;AAClF,6EAA6E;AAE7E,MAAM,CAAC,MAAM,WAAW,GAAS;;;;;;uDAMsB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Role } from '../../manifest.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const planner: Role;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// The middle arrow. `reads artifact` is not a licence to build: the census is how a
|
|
2
|
+
// footprint is measured, and a unit's blast radius read off where a name is DEFINED
|
|
3
|
+
// while the work is bounded by where it is USED voids every disjointness proof the
|
|
4
|
+
// waves rest on.
|
|
5
|
+
//
|
|
6
|
+
// `writes ≠ C` is the seam. A piece that will not decompose is surfaced intact, because
|
|
7
|
+
// a planner permitted to redraw the boundary it was handed is the route by which the
|
|
8
|
+
// design leaks back out into the work.
|
|
9
|
+
export const planner = `planner ≜ reads⟨C · artifact⟩ → writes⟨spec⟩
|
|
10
|
+
stratum ≜ intent ≺ C ≺ spec ≺ artifact ⟨≺ ≜ more-abstract-than · C ≜ durative-concept-lattice⟩
|
|
11
|
+
reserves ⟨census ⟨extant · references · resolved-by-use ¬ by-declaration⟩ · decompose ⟨cut-piece → MECE-units⟩ · realizes ⟨unit ⇀ anchor⟩ · sequence ⟨waves ⊨ disjoint-outputs⟩⟩
|
|
12
|
+
writes ≠ C ⇒ cut-piece GIVEN ⟨boundary ¬ decomposable ⇒ SURFACED ¬ redrawn⟩
|
|
13
|
+
writes ≠ artifact ⇒ ∄ build @ planner ⟨unit ≜ spec · executor builds⟩`;
|
|
14
|
+
//# sourceMappingURL=planner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/dimensions/role/planner.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,oFAAoF;AACpF,mFAAmF;AACnF,iBAAiB;AACjB,EAAE;AACF,wFAAwF;AACxF,qFAAqF;AACrF,uCAAuC;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAS;;;;sEAIyC,CAAC"}
|