@cratylus/canon 0.16.0 → 0.18.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.
Files changed (148) hide show
  1. package/README.md +51 -26
  2. package/dist/agents/nico.js +1 -1
  3. package/dist/agents/nico.js.map +1 -1
  4. package/dist/agents/reviewer.d.ts +1 -0
  5. package/dist/agents/reviewer.js +5 -0
  6. package/dist/agents/reviewer.js.map +1 -0
  7. package/dist/contracts.js +81 -82
  8. package/dist/contracts.js.map +1 -1
  9. package/dist/dimensions/action-scope/integrate.js +1 -1
  10. package/dist/dimensions/action-scope/integrate.js.map +1 -1
  11. package/dist/dimensions/assignment/concepts.js +1 -1
  12. package/dist/dimensions/assignment/concepts.js.map +1 -1
  13. package/dist/dimensions/assignment/{judgment-brief.d.ts → review-request.d.ts} +1 -1
  14. package/dist/dimensions/assignment/review-request.js +2 -0
  15. package/dist/dimensions/assignment/review-request.js.map +1 -0
  16. package/dist/dimensions/assignment/{cut-brief.d.ts → story.d.ts} +1 -1
  17. package/dist/dimensions/assignment/story.js +2 -0
  18. package/dist/dimensions/assignment/story.js.map +1 -0
  19. package/dist/dimensions/assignment/{work-package.d.ts → task.d.ts} +1 -1
  20. package/dist/dimensions/assignment/task.js +2 -0
  21. package/dist/dimensions/assignment/task.js.map +1 -0
  22. package/dist/dimensions/communication-style/bottom-line-up-front.js +1 -1
  23. package/dist/dimensions/communication-style/bottom-line-up-front.js.map +1 -1
  24. package/dist/dimensions/communication-style/layman.d.ts +2 -0
  25. package/dist/dimensions/communication-style/layman.js +2 -0
  26. package/dist/dimensions/communication-style/layman.js.map +1 -0
  27. package/dist/dimensions/deliverable/{done-or-failing-case.d.ts → change.d.ts} +1 -1
  28. package/dist/dimensions/deliverable/change.js +2 -0
  29. package/dist/dimensions/deliverable/change.js.map +1 -0
  30. package/dist/dimensions/deliverable/{verdict-per-concept.d.ts → outcome.d.ts} +1 -1
  31. package/dist/dimensions/deliverable/outcome.js +2 -0
  32. package/dist/dimensions/deliverable/outcome.js.map +1 -0
  33. package/dist/dimensions/deliverable/read-back.d.ts +2 -0
  34. package/dist/dimensions/deliverable/read-back.js +2 -0
  35. package/dist/dimensions/deliverable/read-back.js.map +1 -0
  36. package/dist/dimensions/deliverable/review.d.ts +2 -0
  37. package/dist/dimensions/deliverable/review.js +2 -0
  38. package/dist/dimensions/deliverable/review.js.map +1 -0
  39. package/dist/dimensions/expertise/evaluation-design.js +1 -1
  40. package/dist/dimensions/expertise/evaluation-design.js.map +1 -1
  41. package/dist/dimensions/expertise/software-delivery.js +1 -1
  42. package/dist/dimensions/expertise/software-delivery.js.map +1 -1
  43. package/dist/dimensions/guardrails/fixed-acceptance-criteria.js +1 -1
  44. package/dist/dimensions/guardrails/fixed-acceptance-criteria.js.map +1 -1
  45. package/dist/dimensions/guardrails/never-repairs.js +1 -1
  46. package/dist/dimensions/guardrails/never-repairs.js.map +1 -1
  47. package/dist/dimensions/objective/correctness.js +1 -1
  48. package/dist/dimensions/objective/correctness.js.map +1 -1
  49. package/dist/dimensions/objective/delivery.js +1 -1
  50. package/dist/dimensions/objective/delivery.js.map +1 -1
  51. package/dist/dimensions/objective/{verdict-accuracy.d.ts → review-accuracy.d.ts} +1 -1
  52. package/dist/dimensions/objective/review-accuracy.js +2 -0
  53. package/dist/dimensions/objective/review-accuracy.js.map +1 -0
  54. package/dist/dimensions/perception-scope/held-out-examples.js +1 -1
  55. package/dist/dimensions/perception-scope/held-out-examples.js.map +1 -1
  56. package/dist/dimensions/perception-scope/{own-work-package.d.ts → own-task.d.ts} +1 -1
  57. package/dist/dimensions/perception-scope/own-task.js +2 -0
  58. package/dist/dimensions/perception-scope/own-task.js.map +1 -0
  59. package/dist/dimensions/procedure/{freeze.d.ts → code-review.d.ts} +1 -1
  60. package/dist/dimensions/procedure/code-review.js +2 -0
  61. package/dist/dimensions/procedure/code-review.js.map +1 -0
  62. package/dist/dimensions/procedure/orchestrator-workers.d.ts +2 -0
  63. package/dist/dimensions/procedure/orchestrator-workers.js +2 -0
  64. package/dist/dimensions/procedure/orchestrator-workers.js.map +1 -0
  65. package/dist/dimensions/procedure/reconstitution.js +1 -1
  66. package/dist/dimensions/procedure/reconstitution.js.map +1 -1
  67. package/dist/dimensions/procedure/{judgment.d.ts → ship-show-ask.d.ts} +1 -1
  68. package/dist/dimensions/procedure/ship-show-ask.js +2 -0
  69. package/dist/dimensions/procedure/ship-show-ask.js.map +1 -0
  70. package/dist/dimensions/procedure/{build.d.ts → test-first.d.ts} +1 -1
  71. package/dist/dimensions/procedure/test-first.js +2 -0
  72. package/dist/dimensions/procedure/test-first.js.map +1 -0
  73. package/dist/dimensions/role/architect.js +1 -1
  74. package/dist/dimensions/role/architect.js.map +1 -1
  75. package/dist/dimensions/role/builder.js +1 -1
  76. package/dist/dimensions/role/builder.js.map +1 -1
  77. package/dist/dimensions/role/check-writer.js +1 -1
  78. package/dist/dimensions/role/check-writer.js.map +1 -1
  79. package/dist/dimensions/role/illustrator.js +1 -1
  80. package/dist/dimensions/role/illustrator.js.map +1 -1
  81. package/dist/dimensions/role/lead.js +1 -1
  82. package/dist/dimensions/role/lead.js.map +1 -1
  83. package/dist/dimensions/role/{assayer.d.ts → reviewer.d.ts} +1 -1
  84. package/dist/dimensions/role/reviewer.js +2 -0
  85. package/dist/dimensions/role/reviewer.js.map +1 -0
  86. package/dist/genus/persona.d.ts +1 -1
  87. package/dist/genus/persona.js +4 -2
  88. package/dist/genus/persona.js.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.js +1 -1
  91. package/dist/index.js.map +1 -1
  92. package/dist/manifest.d.ts +9 -8
  93. package/dist/manifest.js +15 -6
  94. package/dist/manifest.js.map +1 -1
  95. package/dist/practices.js +3 -3
  96. package/dist/practices.js.map +1 -1
  97. package/dist/roles/architect.js +66 -17
  98. package/dist/roles/architect.js.map +1 -1
  99. package/dist/roles/builder.js +12 -14
  100. package/dist/roles/builder.js.map +1 -1
  101. package/dist/roles/check-writer.js +6 -7
  102. package/dist/roles/check-writer.js.map +1 -1
  103. package/dist/roles/illustrator.js +4 -4
  104. package/dist/roles/illustrator.js.map +1 -1
  105. package/dist/roles/lead.js +44 -14
  106. package/dist/roles/lead.js.map +1 -1
  107. package/dist/roles/{assayer.d.ts → reviewer.d.ts} +1 -1
  108. package/dist/roles/{assayer.js → reviewer.js} +39 -24
  109. package/dist/roles/reviewer.js.map +1 -0
  110. package/dist/rules/repo-preamble.js +6 -6
  111. package/dist/rules/repo-preamble.js.map +1 -1
  112. package/dist/skills/signify/skill.js +2 -2
  113. package/package.json +4 -4
  114. package/dist/agents/assayer.d.ts +0 -1
  115. package/dist/agents/assayer.js +0 -5
  116. package/dist/agents/assayer.js.map +0 -1
  117. package/dist/dimensions/assignment/cut-brief.js +0 -2
  118. package/dist/dimensions/assignment/cut-brief.js.map +0 -1
  119. package/dist/dimensions/assignment/judgment-brief.js +0 -2
  120. package/dist/dimensions/assignment/judgment-brief.js.map +0 -1
  121. package/dist/dimensions/assignment/work-package.js +0 -2
  122. package/dist/dimensions/assignment/work-package.js.map +0 -1
  123. package/dist/dimensions/deliverable/decisions-with-reasons.d.ts +0 -2
  124. package/dist/dimensions/deliverable/decisions-with-reasons.js +0 -2
  125. package/dist/dimensions/deliverable/decisions-with-reasons.js.map +0 -1
  126. package/dist/dimensions/deliverable/done-or-failing-case.js +0 -2
  127. package/dist/dimensions/deliverable/done-or-failing-case.js.map +0 -1
  128. package/dist/dimensions/deliverable/outcome-with-efficiency.d.ts +0 -2
  129. package/dist/dimensions/deliverable/outcome-with-efficiency.js +0 -2
  130. package/dist/dimensions/deliverable/outcome-with-efficiency.js.map +0 -1
  131. package/dist/dimensions/deliverable/verdict-per-concept.js +0 -2
  132. package/dist/dimensions/deliverable/verdict-per-concept.js.map +0 -1
  133. package/dist/dimensions/objective/verdict-accuracy.js +0 -2
  134. package/dist/dimensions/objective/verdict-accuracy.js.map +0 -1
  135. package/dist/dimensions/perception-scope/own-work-package.js +0 -2
  136. package/dist/dimensions/perception-scope/own-work-package.js.map +0 -1
  137. package/dist/dimensions/procedure/build.js +0 -2
  138. package/dist/dimensions/procedure/build.js.map +0 -1
  139. package/dist/dimensions/procedure/freeze.js +0 -2
  140. package/dist/dimensions/procedure/freeze.js.map +0 -1
  141. package/dist/dimensions/procedure/judgment.js +0 -2
  142. package/dist/dimensions/procedure/judgment.js.map +0 -1
  143. package/dist/dimensions/procedure/whole-check.d.ts +0 -2
  144. package/dist/dimensions/procedure/whole-check.js +0 -2
  145. package/dist/dimensions/procedure/whole-check.js.map +0 -1
  146. package/dist/dimensions/role/assayer.js +0 -2
  147. package/dist/dimensions/role/assayer.js.map +0 -1
  148. package/dist/roles/assayer.js.map +0 -1
package/README.md CHANGED
@@ -58,14 +58,33 @@ are [`@cratylus/schema`](../schema/README.md)'s.
58
58
 
59
59
  ## The agents
60
60
 
61
- The plugin carries nine agents, all in the practice `example-driven-workflow`. `architect`, `lead`,
62
- `builder`, `assayer`, `illustrator` and `check-writer` are the generic holders of their roles. A role
63
- cell (`src/roles/<role>.ts`) states a value for every factor, an explicitly empty set counting as one,
64
- and `agents/<role>.ts` is `holder(<role>Role)`: named for the role, carrying nothing beyond it and no
65
- mark. `holder` refuses a cell missing a factor, a scalar without exactly one value, a slot not filled
66
- exactly once, and empty guardrails.
67
-
68
- kino, nico and mav are personas over the architect role, `persona(architectRole, residue)`: each is
61
+ The plugin carries nine agents, all in the practice `intent-based-delegation`, which delivers
62
+ intent-based delegation. `architect`, `lead`, `builder` and `reviewer` are the generic holders of
63
+ their roles, with `illustrator` and `check-writer` as specialists called in when a story's risk
64
+ warrants them. Each role is defined by what it receives and what it hands over, never by steps:
65
+
66
+ - **architect** — the operator's principal architect, owning the conceptual design: receives intent,
67
+ hands over stories, answers to meaning questions and read-backs; decides meaning only.
68
+ - **lead** — owns a story's realization, or a task with no story: orchestrates its tasks to builders
69
+ (orchestrator-workers) and their changes to review as its story's risk calls for (Ship, Show or
70
+ Ask), joins each change by the project's own integration once every check passes and any review
71
+ due before it joins approves it, and hands over the outcome.
72
+ - **builder** — receives one task and hands over one change that passes every check.
73
+ - **reviewer** — reviews one change it did not write, before or after it joins as its story's risk
74
+ calls for, against the change and, where they apply, its story's acceptance criteria and
75
+ examples, held-out ones included; hands over one review and never builds or repairs the work.
76
+ - **illustrator** — writes a story's examples cold from its concepts alone, flagging unclear terms.
77
+ - **check-writer** — writes the checks binding a story's examples, each seen failing before the build.
78
+
79
+ The reviewer, the illustrator and the check-writer run on another model family than the builders
80
+ where one is available. A role cell (`src/roles/<role>.ts`) states a value for every factor, an
81
+ explicitly empty set counting as one, and `agents/<role>.ts` is `holder(<role>Role)`: named for the
82
+ role, carrying nothing beyond it and no mark. `holder` refuses a cell missing a factor, a scalar
83
+ without exactly one value, a slot not filled exactly once, and empty guardrails.
84
+
85
+ kino, nico and mav are personas over the architect role, each named for its expertise (kino film
86
+ production, nico the corpus's concept space and the cold-decode oracle, mav any software
87
+ repository), `persona(architectRole, residue)`: each is
69
88
  an agent named as an individual, with a description and a mark of its own beside the values it
70
89
  states. A single value it states replaces the role's, a slot only its own slot; a set value is added
71
90
  after the role's, and restating one the role holds changes only its enforcement level or note. It
@@ -83,26 +102,32 @@ agent keeps the harness's defaults (0142). Its `key` is reserved for ipseic agen
83
102
  `holder`, `persona`, `CompositionRefusal`, the six role cells and `MANIFEST` are also named exports,
84
103
  for a corpus that composes agents of its own over these roles.
85
104
 
86
- ## Typed handoffs
105
+ ## Typed handovers
87
106
 
88
107
  An assignment and a deliverable are values of their factors, and each carries its contract as JSON
89
108
  Schema data (`src/contracts.ts`, exported as `ASSIGNMENT_CONTRACTS` and `DELIVERABLE_CONTRACTS` by
90
- the value's anchor). Composition copies the pair onto the agent as `contract`:
91
-
92
- | Role | Assignment | Deliverable |
93
- | ------------ | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
94
- | lead | cut brief `{cut, concepts[≥1], examples[≥1], decisions[≥1]}` | outcome with efficiency `{cut, outcomes[≥1], verdicts, efficiency, hardeningNotes}` |
95
- | builder | work package `{cut, workPackage, outputs[≥1], concepts[≥1], examples}` | done or failing case `{cut, workPackage, done, failingCase?}` |
96
- | assayer | judgment brief `{cut, workPackages[≥1], examples[≥1], decisions}` | verdict per concept `{cut, verdicts[≥1], hardeningNotes}` |
97
- | check-writer | examples `{cut, examples[≥1]}` | checks seen red `{cut, checks}` |
98
- | illustrator | concepts `{cut, concepts[≥1]}` | examples with flagged terms `{examples, flaggedTerms}` |
99
-
100
- The architect's assignment is free-text intent and its deliverable goes to the operator, so it
101
- carries no contract. A builder's `examples` may be empty: a package sharing outputs owns no example.
102
- A harness binds the deliverable as its own output schema, shows the assignment form when an agent
103
- is dispatched or launched, and checks the assignment given (one fenced `assignment` JSON block in
104
- the dispatch text) with the schema package's `checkAssignment`, warning of each missing or ill-typed
105
- field; it never refuses the dispatch or the launch for it (0142(3)).
109
+ the value's anchor). Composition copies the pair onto the agent as `contract`. Each handover states
110
+ what it must contain, so one passed without a part shows what is missing (`?` marks an optional
111
+ field, `[≥1]` a list that may not be empty):
112
+
113
+ | Role | Assignment | Deliverable |
114
+ | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
115
+ | lead | story `{story, slice, why, acceptanceCriteria[≥1], outOfScope, path, review, cost, examples?, decisions?, contexts?}`, or a task with no story (as below) | outcome `{story, criteria[≥1], meaningQuestions, followUps, cost}` |
116
+ | builder | task `{task, story?, goal, changes, decisions, done}` | change `{change, tests, verified}` |
117
+ | reviewer | review request `{change, story?, acceptanceCriteria?, examples?}` | review `{verdict, findings, meaningQuestions}` |
118
+ | check-writer | examples `{story, examples[≥1]}` | checks seen red `{story, checks}` |
119
+ | illustrator | concepts `{story, concepts[≥1]}` | examples with flagged terms `{examples, flaggedTerms}` |
120
+
121
+ The lead's assignment takes either form, stated as alternatives (`anyOf`); it fits when it fits any
122
+ one. Its outcome names the story, or for a task with no story the task, and holds each acceptance
123
+ criterion (or, for a task, what done means) with whether it holds and its evidence, and the cost in
124
+ agent runs by role, tokens and elapsed time. A review's `verdict` is `approve` or `changes`. The
125
+ architect's handovers are a person's — free-text intent in, a read-back to the operator out (where
126
+ things stand, with one recommendation) — so it carries no contract. A harness binds the deliverable
127
+ as its own output schema, shows the assignment form when an agent is dispatched or launched, and
128
+ checks the assignment given (one fenced `assignment` JSON block in the dispatch text) with the
129
+ schema package's `checkAssignment`, warning of each missing or ill-typed field, of the closest form
130
+ where there are alternatives; it never refuses the dispatch or the launch for it (0142(3)).
106
131
 
107
132
  ## Evaluation and drift
108
133
 
@@ -135,7 +160,7 @@ entry. Canon reaches the projector as **data** — the corpus is passed to it as
135
160
  cell imports it.
136
161
 
137
162
  No cell imports the runtime either. A skill names the capability it routes to — `concepts` or
138
- `workPackage`, the two built into the runtime — as `runtime: { capability: … }`,
163
+ `versionSkew`, the two built into the runtime — as `runtime: { capability: … }`,
139
164
  never its implementation, and a cell that emits shell invoking the binary carries it as a fact the
140
165
  projector substitutes at emission. That is the architecture's highest-ranked property — meaning
141
166
  and mechanism never referencing each other — and [ARCHITECTURE.md](../../ARCHITECTURE.md) records
@@ -12,7 +12,7 @@ import { zeroTrust } from '../dimensions/stance/zero-trust.js';
12
12
  import { architectRole } from '../roles/architect.js';
13
13
  export const nico = persona(architectRole, {
14
14
  name: 'nico',
15
- description: "Architect of cratylus's corpus and agents contexts: finds the sign that most precisely and efficiently invokes each concept in a model's semantic space.",
15
+ description: "Architect named for the corpus's concept space and the cold-decode oracle: finds the sign that most precisely and efficiently invokes each concept in a model's semantic space, and keeps the name a reader with no context decodes as meant.",
16
16
  mark: { emoji: '📐', hue: 'cyan' },
17
17
  values: {
18
18
  objective: [
@@ -1 +1 @@
1
- {"version":3,"file":"nico.js","sourceRoot":"","sources":["../../src/agents/nico.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sBAAsB;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE;IACzC,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,0JAA0J;IAC5J,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE;IAClC,MAAM,EAAE;QACN,SAAS,EAAE;YACT,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;SAC5C;QACD,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;QACrE,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9D;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"nico.js","sourceRoot":"","sources":["../../src/agents/nico.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sBAAsB;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE;IACzC,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,+OAA+O;IACjP,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE;IAClC,MAAM,EAAE;QACN,SAAS,EAAE;YACT,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;SAC5C;QACD,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;QACrE,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9D;CACF,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const reviewer: import("../manifest.js").Agent;
@@ -0,0 +1,5 @@
1
+ // The reviewer role's generic holder: the role's vector, named for the role.
2
+ import { holder } from '../compose.js';
3
+ import { reviewerRole } from '../roles/reviewer.js';
4
+ export const reviewer = holder(reviewerRole);
5
+ //# sourceMappingURL=reviewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/agents/reviewer.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC"}
package/dist/contracts.js CHANGED
@@ -1,27 +1,30 @@
1
1
  // ─────────────────────────────────────────────────────────────────────────────
2
- // TYPED HANDOFFS — the JSON Schema each assignment and deliverable value carries.
2
+ // TYPED HANDOVERS — the JSON Schema each assignment and deliverable value carries.
3
3
  //
4
4
  // A role's assignment and deliverable are values of their factors; the contract a
5
- // handoff is checked against is DATA those values carry, paired here with the very
5
+ // handover is checked against is DATA those values carry, paired here with the very
6
6
  // value it belongs to. Composition copies the pair onto the agent
7
7
  // (`Agent.contract`), and every harness reads it from there: the assignment checked
8
8
  // before the agent runs, the deliverable bound as the harness's output schema.
9
9
  //
10
- // Required fields are required, and an array takes `[]` unless it is marked
11
- // `minItems: 1`. Free-text intent (the architect's assignment) and the architect's
12
- // deliverable to the operator carry no contract.
10
+ // Each handover states what it must contain, so one passed without a part shows
11
+ // what is missing: its required fields are its contents. An array takes `[]` unless
12
+ // it is marked `minItems: 1`. An assignment taking alternative forms states each
13
+ // under `anyOf`, and fits when it fits any one. The architect's handovers are a
14
+ // person's: free-text intent in, a read-back to the operator out, neither of them
15
+ // JSON, so neither carries a contract.
13
16
  // ─────────────────────────────────────────────────────────────────────────────
14
17
  import { anchorOf } from '@cratylus/schema';
15
18
  import { concepts } from './dimensions/assignment/concepts.js';
16
- import { cutBrief } from './dimensions/assignment/cut-brief.js';
17
19
  import { examples } from './dimensions/assignment/examples.js';
18
- import { judgmentBrief } from './dimensions/assignment/judgment-brief.js';
19
- import { workPackage } from './dimensions/assignment/work-package.js';
20
+ import { reviewRequest } from './dimensions/assignment/review-request.js';
21
+ import { story } from './dimensions/assignment/story.js';
22
+ import { task } from './dimensions/assignment/task.js';
23
+ import { change } from './dimensions/deliverable/change.js';
20
24
  import { checksSeenRed } from './dimensions/deliverable/checks-seen-red.js';
21
- import { doneOrFailingCase } from './dimensions/deliverable/done-or-failing-case.js';
22
25
  import { examplesWithFlaggedTerms } from './dimensions/deliverable/examples-with-flagged-terms.js';
23
- import { outcomeWithEfficiency } from './dimensions/deliverable/outcome-with-efficiency.js';
24
- import { verdictPerConcept } from './dimensions/deliverable/verdict-per-concept.js';
26
+ import { outcome } from './dimensions/deliverable/outcome.js';
27
+ import { review } from './dimensions/deliverable/review.js';
25
28
  const text = { type: 'string' };
26
29
  const count = { type: 'integer' };
27
30
  const texts = { type: 'array', items: text };
@@ -37,117 +40,113 @@ const said = (schema, description) => ({
37
40
  ...schema,
38
41
  description,
39
42
  });
40
- // What a field of an assignment names, said once for every assignment that holds it.
41
- const cutField = said(text, 'The cut, by its name (its examples are design/examples/<context>/<cut>.md).');
43
+ // What a field of a handover names, said once for every handover that holds it.
44
+ const storyField = said(text, 'The story, by its name (a kebab-case id).');
42
45
  const exampleRefs = (schema, whose) => said(schema, `${whose}, each as \`<context>/<number>\` (e.g. \`booking/1\`).`);
46
+ const meaningQuestions = said(texts, 'Each question whose answer would change a concept or an example, for the architect to settle; empty when there is none.');
47
+ // The story and the task, each a form of its own: the lead takes either, a builder a task.
48
+ const storyForm = record({
49
+ story: storyField,
50
+ slice: said(text, "The thin slice of behaviour a user can rely on, in the design's own terms."),
51
+ why: said(text, 'Why the slice is wanted.'),
52
+ acceptanceCriteria: said(someTexts, 'What must hold in merged work for the story to be done, each criterion on its own.'),
53
+ outOfScope: said(texts, 'What the story does not cover; empty when nothing needs saying.'),
54
+ path: said({ type: 'string', enum: ['plain', 'scaled-up'] }, 'The path the story takes: plain, broken into tasks each built by one builder, or scaled up with specialists for its risk.'),
55
+ review: said(text, "How the story's changes are reviewed, as its risk picks: Ship (joined with no review), Show (joined, then reviewed) or Ask (reviewed before it joins); and, where the operator has asked to review a change before it joins, that gate."),
56
+ cost: said(text, 'Roughly what the story will cost, which its effort is weighed against.'),
57
+ examples: exampleRefs(texts, "The story's visible examples, where misunderstanding is likely"),
58
+ decisions: said(texts, 'The decisions in force for the story, by their ids (e.g. `0081`).'),
59
+ contexts: said(texts, 'The bounded contexts the story touches.'),
60
+ }, ['examples', 'decisions', 'contexts']);
61
+ const taskForm = record({
62
+ task: said(text, 'The task, by its name (a kebab-case id).'),
63
+ story: said(text, 'The story the task serves, by its name; absent for a change that alters no meaning, a task with no story.'),
64
+ goal: said(text, "What the task is for, in its story's terms."),
65
+ changes: said(text, 'What the task changes.'),
66
+ decisions: said(texts, 'The technical decisions that bind the task; empty when there are none.'),
67
+ done: said(text, 'What done means for the task.'),
68
+ }, ['story']);
43
69
  const assignments = [
44
70
  [
45
- cutBrief,
46
- record({
47
- cut: cutField,
48
- concepts: said(someTexts, 'The concepts the cut realizes, by their names in the design.'),
49
- examples: exampleRefs(someTexts, "The cut's visible examples"),
50
- decisions: said(someTexts, 'The decisions in force for the cut, by their ids (e.g. `0081`).'),
51
- }),
52
- ],
53
- [
54
- workPackage,
55
- record({
56
- cut: cutField,
57
- workPackage: said(text, 'The work package, by its name in the ledger.'),
58
- outputs: said(someTexts, 'The paths the package owns, which no other builder changes.'),
59
- concepts: said(someTexts, 'The concepts the package serves, by name.'),
60
- // A shared-output package owns no example, which a work package may do.
61
- examples: exampleRefs(texts, 'The visible examples the package owns (none for a package sharing outputs)'),
62
- }),
71
+ story,
72
+ {
73
+ anyOf: [
74
+ said(storyForm, 'A story.'),
75
+ said(taskForm, 'A task with no story: a change that alters no meaning.'),
76
+ ],
77
+ },
63
78
  ],
79
+ [task, taskForm],
64
80
  [
65
- judgmentBrief,
81
+ reviewRequest,
66
82
  record({
67
- cut: cutField,
68
- workPackages: said(someTexts, 'The work packages to judge, by their names in the ledger.'),
69
- examples: exampleRefs(someTexts, 'The examples to judge against'),
70
- decisions: said(texts, 'The decisions in force, by their ids; empty when there are none.'),
71
- }),
83
+ change: said(text, 'The change to review, by its reference.'),
84
+ story: said(text, 'The story the change serves, by its name; absent for a task with no story.'),
85
+ acceptanceCriteria: said(texts, "The story's acceptance criteria the change is reviewed against, where they apply."),
86
+ examples: exampleRefs(texts, 'The examples the change is reviewed against, where they apply'),
87
+ }, ['story', 'acceptanceCriteria', 'examples']),
72
88
  ],
73
89
  [
74
90
  examples,
75
91
  record({
76
- cut: cutField,
92
+ story: storyField,
77
93
  examples: exampleRefs(someTexts, 'The examples to bind checks to'),
78
94
  }),
79
95
  ],
80
96
  [
81
97
  concepts,
82
98
  record({
83
- cut: cutField,
99
+ story: storyField,
84
100
  concepts: said(someTexts, 'The concepts to illustrate with examples, by name.'),
85
101
  }),
86
102
  ],
87
103
  ];
88
104
  const deliverables = [
89
105
  [
90
- outcomeWithEfficiency,
106
+ outcome,
91
107
  said(record({
92
- cut: said(text, 'The cut this report is for, by its name.'),
93
- outcomes: said({
108
+ story: said(text, 'The story, or for a task with no story the task, by name.'),
109
+ criteria: said({
94
110
  type: 'array',
95
111
  minItems: 1,
96
112
  items: record({
97
- example: said(text, 'The visible example, as `<context>/<number>`.'),
98
- concept: said(text, 'The concept the example shows, by its name in the design.'),
99
- outcome: said({ type: 'string', enum: ['pass', 'fail'] }, 'Whether the example holds in the delivered work.'),
100
- evidence: said(text, "Why the outcome holds, named by the example and by the check that binds it, in the design's concepts: what the check showed of the concept. Never a file, function, path or command, even where a verdict cites one: translate it into the concept it bears on."),
101
- }),
102
- }, "One outcome per visible example of the cut, each in the design's concepts."),
103
- verdicts: said({
104
- type: 'array',
105
- items: record({
106
- assayer: said(text, 'The assayer that judged, by its run.'),
107
- verdict: said({ type: 'string', enum: ['accept', 'reject'] }, "The assayer's verdict on the cut, as it returned it."),
108
- findings: said(texts, "The assayer's findings, each restated in the design's concepts; empty when it found none."),
113
+ criterion: said(text, 'The acceptance criterion, as the story states it.'),
114
+ holds: said(flag, 'Whether the criterion holds in merged work.'),
115
+ evidence: said(text, "Why it holds or does not, in the design's own terms: what the review and the checks showed of the concept. Never a file, function, path or command: translate it into the concept it bears on."),
109
116
  }),
110
- }, "Each assayer's verdict, as it returned it."),
111
- efficiency: said(record({
117
+ }, 'The acceptance criteria, or for a task with no story what done means, each with whether it holds and its evidence.'),
118
+ meaningQuestions,
119
+ followUps: said(texts, 'What the story leaves unfinished, each as work to take up later; empty when there is none.'),
120
+ cost: said(record({
112
121
  agentRuns: said(record({
113
- total: said(count, 'Every agent run the cut took.'),
122
+ total: said(count, 'Every agent run the story took.'),
114
123
  byRole: said({ type: 'object', additionalProperties: count }, 'The agent runs by role.'),
115
- }), 'The agent runs the harness reports for the cut.'),
116
- rounds: said(count, 'The rounds of build and judgment.'),
117
- wholeCheckRuns: said(count, 'The runs of the whole check.'),
124
+ }), 'The agent runs the harness reports for the story.'),
118
125
  tokens: said(count, 'The tokens the runs reported, summed.'),
119
- }), "The cut's figures, as the ledger computes them."),
120
- hardeningNotes: said(texts, "What would make the cut's examples or checks harder to pass by accident, each in the design's concepts; empty when there is none."),
121
- }), "The lead's report of the cut to whoever dispatched it, in the design's concepts: each example's outcome with its evidence, the assayers' verdicts, the figures and the hardening notes."),
126
+ elapsed: said(text, 'The time the story took, from its start to its end.'),
127
+ }), 'What the story cost, as the harness records it.'),
128
+ }), "The lead's outcome of the story to the architect, in the design's own terms: which acceptance criteria hold with their evidence, the meaning questions it raised, the follow-ups it leaves and what it cost."),
122
129
  ],
123
130
  [
124
- doneOrFailingCase,
125
- record({ cut: text, workPackage: text, done: flag, failingCase: text }, [
126
- 'failingCase',
127
- ]),
131
+ change,
132
+ record({
133
+ change: said(text, 'What the change does and why, by area.'),
134
+ tests: said(text, 'The tests added, changed or deleted.'),
135
+ verified: said(text, 'What was verified, and how.'),
136
+ }),
128
137
  ],
129
138
  [
130
- verdictPerConcept,
139
+ review,
131
140
  record({
132
- cut: text,
133
- verdicts: {
134
- type: 'array',
135
- minItems: 1,
136
- items: record({
137
- workPackage: text,
138
- concept: text,
139
- passes: flag,
140
- evidence: text,
141
- finding: text,
142
- }, ['finding']),
143
- },
144
- hardeningNotes: texts,
141
+ verdict: said({ type: 'string', enum: ['approve', 'changes'] }, 'Whether the review approves the change or asks for changes.'),
142
+ findings: said(texts, 'Each finding, naming what must change and why; empty when there is none.'),
143
+ meaningQuestions,
145
144
  }),
146
145
  ],
147
146
  [
148
147
  checksSeenRed,
149
148
  record({
150
- cut: text,
149
+ story: storyField,
151
150
  checks: {
152
151
  type: 'array',
153
152
  items: record({ example: text, check: text, seenRed: flag }),
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mFAAmF;AACnF,EAAE;AACF,kFAAkF;AAClF,oFAAoF;AACpF,kEAAkE;AAClE,oFAAoF;AACpF,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,oFAAoF;AACpF,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,uCAAuC;AACvC,gFAAgF;AAEhF,OAAO,EAAmB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAG5D,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5C,MAAM,KAAK,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9C,MAAM,KAAK,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzD,MAAM,SAAS,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAC1E,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAE7C,MAAM,MAAM,GAAG,CACb,UAAsC,EACtC,WAA8B,EAAE,EACpB,EAAE,CAAC,CAAC;IAChB,IAAI,EAAE,QAAQ;IACd,UAAU;IACV,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,IAAI,GAAG,CAAC,MAAkB,EAAE,WAAmB,EAAc,EAAE,CAAC,CAAC;IACrE,GAAG,MAAM;IACT,WAAW;CACZ,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,2CAA2C,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG,CAAC,MAAkB,EAAE,KAAa,EAAc,EAAE,CACpE,IAAI,CACF,MAAM,EACN,GAAG,KAAK,wDAAwD,CACjE,CAAC;AACJ,MAAM,gBAAgB,GAAG,IAAI,CAC3B,KAAK,EACL,yHAAyH,CAC1H,CAAC;AAEF,2FAA2F;AAC3F,MAAM,SAAS,GAAG,MAAM,CACtB;IACE,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,IAAI,CACT,IAAI,EACJ,4EAA4E,CAC7E;IACD,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC3C,kBAAkB,EAAE,IAAI,CACtB,SAAS,EACT,oFAAoF,CACrF;IACD,UAAU,EAAE,IAAI,CACd,KAAK,EACL,iEAAiE,CAClE;IACD,IAAI,EAAE,IAAI,CACR,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAChD,2HAA2H,CAC5H;IACD,MAAM,EAAE,IAAI,CACV,IAAI,EACJ,yOAAyO,CAC1O;IACD,IAAI,EAAE,IAAI,CACR,IAAI,EACJ,wEAAwE,CACzE;IACD,QAAQ,EAAE,WAAW,CACnB,KAAK,EACL,gEAAgE,CACjE;IACD,SAAS,EAAE,IAAI,CACb,KAAK,EACL,mEAAmE,CACpE;IACD,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,yCAAyC,CAAC;CACjE,EACD,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CACtC,CAAC;AACF,MAAM,QAAQ,GAAG,MAAM,CACrB;IACE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,0CAA0C,CAAC;IAC5D,KAAK,EAAE,IAAI,CACT,IAAI,EACJ,2GAA2G,CAC5G;IACD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,6CAA6C,CAAC;IAC/D,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC;IAC7C,SAAS,EAAE,IAAI,CACb,KAAK,EACL,wEAAwE,CACzE;IACD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,+BAA+B,CAAC;CAClD,EACD,CAAC,OAAO,CAAC,CACV,CAAC;AAEF,MAAM,WAAW,GAAmD;IAClE;QACE,KAAK;QACL;YACE,KAAK,EAAE;gBACL,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;gBAC3B,IAAI,CACF,QAAQ,EACR,wDAAwD,CACzD;aACF;SACF;KACF;IACD,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB;QACE,aAAa;QACb,MAAM,CACJ;YACE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,yCAAyC,CAAC;YAC7D,KAAK,EAAE,IAAI,CACT,IAAI,EACJ,4EAA4E,CAC7E;YACD,kBAAkB,EAAE,IAAI,CACtB,KAAK,EACL,mFAAmF,CACpF;YACD,QAAQ,EAAE,WAAW,CACnB,KAAK,EACL,+DAA+D,CAChE;SACF,EACD,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAC5C;KACF;IACD;QACE,QAAQ;QACR,MAAM,CAAC;YACL,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,gCAAgC,CAAC;SACnE,CAAC;KACH;IACD;QACE,QAAQ;QACR,MAAM,CAAC;YACL,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,IAAI,CACZ,SAAS,EACT,oDAAoD,CACrD;SACF,CAAC;KACH;CACF,CAAC;AAEF,MAAM,YAAY,GAAoD;IACpE;QACE,OAAO;QACP,IAAI,CACF,MAAM,CAAC;YACL,KAAK,EAAE,IAAI,CACT,IAAI,EACJ,2DAA2D,CAC5D;YACD,QAAQ,EAAE,IAAI,CACZ;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,MAAM,CAAC;oBACZ,SAAS,EAAE,IAAI,CACb,IAAI,EACJ,mDAAmD,CACpD;oBACD,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,6CAA6C,CAAC;oBAChE,QAAQ,EAAE,IAAI,CACZ,IAAI,EACJ,gMAAgM,CACjM;iBACF,CAAC;aACH,EACD,oHAAoH,CACrH;YACD,gBAAgB;YAChB,SAAS,EAAE,IAAI,CACb,KAAK,EACL,4FAA4F,CAC7F;YACD,IAAI,EAAE,IAAI,CACR,MAAM,CAAC;gBACL,SAAS,EAAE,IAAI,CACb,MAAM,CAAC;oBACL,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iCAAiC,CAAC;oBACrD,MAAM,EAAE,IAAI,CACV,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAC/C,yBAAyB,CAC1B;iBACF,CAAC,EACF,mDAAmD,CACpD;gBACD,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,uCAAuC,CAAC;gBAC5D,OAAO,EAAE,IAAI,CACX,IAAI,EACJ,qDAAqD,CACtD;aACF,CAAC,EACF,iDAAiD,CAClD;SACF,CAAC,EACF,8MAA8M,CAC/M;KACF;IACD;QACE,MAAM;QACN,MAAM,CAAC;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,wCAAwC,CAAC;YAC5D,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,sCAAsC,CAAC;YACzD,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC;SACpD,CAAC;KACH;IACD;QACE,MAAM;QACN,MAAM,CAAC;YACL,OAAO,EAAE,IAAI,CACX,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAChD,6DAA6D,CAC9D;YACD,QAAQ,EAAE,IAAI,CACZ,KAAK,EACL,0EAA0E,CAC3E;YACD,gBAAgB;SACjB,CAAC;KACH;IACD;QACE,aAAa;QACb,MAAM,CAAC;YACL,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC7D;SACF,CAAC;KACH;IACD,CAAC,wBAAwB,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;CAC7E,CAAC;AAEF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAC/B,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAChE,CAAC;AAEJ,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAChC,MAAM,CAAC,WAAW,CAChB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CACjE,CAAC"}
@@ -1,2 +1,2 @@
1
- export const integrate = `integrate ≜ combine accepted work and run the whole check`;
1
+ export const integrate = `integrate ≜ join a change to the project's shared work by the project's own convention, once every check passes and any review due before it joins approves it`;
2
2
  //# sourceMappingURL=integrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../../src/dimensions/action-scope/integrate.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAgB,2DAA2D,CAAC"}
1
+ {"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../../src/dimensions/action-scope/integrate.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAgB,gKAAgK,CAAC"}
@@ -1,2 +1,2 @@
1
- export const concepts = `concepts ≜ a cut's concepts only`;
1
+ export const concepts = `concepts ≜ a story's concepts only`;
2
2
  //# sourceMappingURL=concepts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"concepts.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/concepts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAe,kCAAkC,CAAC"}
1
+ {"version":3,"file":"concepts.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/concepts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAe,oCAAoC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Assignment } from '../../manifest.js';
2
- export declare const judgmentBrief: Assignment;
2
+ export declare const reviewRequest: Assignment;
@@ -0,0 +1,2 @@
1
+ export const reviewRequest = `review-request ≜ a change to review, before or after it joins as its story's risk calls for, with its story's acceptance criteria and examples, held-out ones included, where they apply`;
2
+ //# sourceMappingURL=review-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-request.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/review-request.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAe,0LAA0L,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Assignment } from '../../manifest.js';
2
- export declare const cutBrief: Assignment;
2
+ export declare const story: Assignment;
@@ -0,0 +1,2 @@
1
+ export const story = `story ≜ one thin slice of behaviour a user can rely on: the slice and why it is wanted, its acceptance criteria, what is out of scope, its path and whether its changes ship, show or ask, its rough cost, and examples where misunderstanding is likely; or, for a change that alters no meaning, a task with no story`;
2
+ //# sourceMappingURL=story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"story.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/story.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAe,yTAAyT,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Assignment } from '../../manifest.js';
2
- export declare const workPackage: Assignment;
2
+ export declare const task: Assignment;
@@ -0,0 +1,2 @@
1
+ export const task = `task ≜ one change: its goal in its story's terms, what it changes, the technical decisions that bind it, and what done means`;
2
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/task.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAe,8HAA8H,CAAC"}
@@ -1,2 +1,2 @@
1
- export const bottomLineUpFront = `bottom-line-up-front ≜ the conclusion first: an opening that states every topic's outcome together, before any topic's action or support, what was found, decided or done in the turn included, a topic being a matter the operator asked about or an outcome that calls for someone's action; then per topic at most one recommended action, one act of one party, the act that moves the topic on by whoever takes it next, never a wait for it, the recommendation itself and nothing besides, never followed by a request to agree to it, and any act on another matter, a deferral or ordering of it included, being a second action, none where nothing remains for anyone, acts already taken being outcomes, never actions, whatever the reply asks of anyone next, wherever it stands, counting as that action, and what it will itself do later being neither, so left out; then only the facts and reasons a layman needs for those outcomes and actions, in the product's terms, as things stand, never how the session reached them, how the records and tools work or remarks on its own records, and never instructions, a topic's one action being its only instruction; never a menu in place of a recommendation or a question it can answer itself`;
1
+ export const bottomLineUpFront = `bottom-line-up-front ≜ when work needs a decision, the conclusion first: an opening that states every topic's outcome together, before any topic's action or support, what was found, decided or done in the turn included, a topic being a matter the operator asked about or an outcome that calls for someone's action; then per topic at most one recommended action, one act of one party, the act that moves the topic on by whoever takes it next, never a wait for it, the recommendation itself and nothing besides, never followed by a request to agree to it, and any act on another matter, a deferral or ordering of it included, being a second action, none where nothing remains for anyone, acts already taken being outcomes, never actions, whatever the reply asks of anyone next, wherever it stands, counting as that action, and what it will itself do later being neither, so left out; then only the facts and reasons a layman needs for those outcomes and actions, in the product's terms, as things stand, never how the session reached them, how the records and tools work or remarks on its own records, and never instructions, a topic's one action being its only instruction; when the operator is exploring, it explores too: it lays out the options with their trade-offs and still says which it recommends, and asks the operator what only the operator can answer; never options without a recommendation, and never a question it can answer itself`;
2
2
  //# sourceMappingURL=bottom-line-up-front.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-line-up-front.js","sourceRoot":"","sources":["../../../src/dimensions/communication-style/bottom-line-up-front.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAuB,usCAAusC,CAAC"}
1
+ {"version":3,"file":"bottom-line-up-front.js","sourceRoot":"","sources":["../../../src/dimensions/communication-style/bottom-line-up-front.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAuB,o6CAAo6C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { CommunicationStyle } from '../../manifest.js';
2
+ export declare const layman: CommunicationStyle;
@@ -0,0 +1,2 @@
1
+ export const layman = `layman ≜ everything written for the operator, replies and documents alike, in plain words for a layman, at the level of meaning: explained in its own words rather than quoted from the record, each decision or concept named by what it says and never by its number in the record, history and mechanics left out unless asked`;
2
+ //# sourceMappingURL=layman.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layman.js","sourceRoot":"","sources":["../../../src/dimensions/communication-style/layman.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAuB,mUAAmU,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Deliverable } from '../../manifest.js';
2
- export declare const doneOrFailingCase: Deliverable;
2
+ export declare const change: Deliverable;
@@ -0,0 +1,2 @@
1
+ export const change = `change ≜ one task's change: what it changes, its tests and what was verified`;
2
+ //# sourceMappingURL=change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/change.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAgB,8EAA8E,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Deliverable } from '../../manifest.js';
2
- export declare const verdictPerConcept: Deliverable;
2
+ export declare const outcome: Deliverable;
@@ -0,0 +1,2 @@
1
+ export const outcome = `outcome ≜ which of the story's acceptance criteria hold, each with its evidence in the design's own terms rather than those of the realization, the meaning questions it raised, the follow-ups it leaves, and what it cost`;
2
+ //# sourceMappingURL=outcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/outcome.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAgB,6NAA6N,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Deliverable } from '../../manifest.js';
2
+ export declare const readBack: Deliverable;
@@ -0,0 +1,2 @@
1
+ export const readBack = `read-back ≜ where things stand, in plain words, as the records state them, with one recommendation`;
2
+ //# sourceMappingURL=read-back.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-back.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/read-back.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAgB,oGAAoG,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Deliverable } from '../../manifest.js';
2
+ export declare const review: Deliverable;
@@ -0,0 +1,2 @@
1
+ export const review = `review ≜ approve or ask for changes, naming each finding, with each meaning question for the architect`;
2
+ //# sourceMappingURL=review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/review.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAgB,wGAAwG,CAAC"}
@@ -1,2 +1,2 @@
1
- export const evaluationDesign = `evaluation-design ≜ designing the checks that bind a cut's examples: deterministic where cheap and repeatable, judged by reading otherwise`;
1
+ export const evaluationDesign = `evaluation-design ≜ designing the checks that bind a story's examples: deterministic where cheap and repeatable, judged in review otherwise`;
2
2
  //# sourceMappingURL=evaluation-design.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation-design.js","sourceRoot":"","sources":["../../../src/dimensions/expertise/evaluation-design.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAc,4IAA4I,CAAC"}
1
+ {"version":3,"file":"evaluation-design.js","sourceRoot":"","sources":["../../../src/dimensions/expertise/evaluation-design.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAc,6IAA6I,CAAC"}
@@ -1,2 +1,2 @@
1
- export const softwareDelivery = `software-delivery ≜ turning a design into shipped, integrated, verified software`;
1
+ export const softwareDelivery = `software-delivery ≜ turning a design into merged, verified software`;
2
2
  //# sourceMappingURL=software-delivery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"software-delivery.js","sourceRoot":"","sources":["../../../src/dimensions/expertise/software-delivery.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAc,kFAAkF,CAAC"}
1
+ {"version":3,"file":"software-delivery.js","sourceRoot":"","sources":["../../../src/dimensions/expertise/software-delivery.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAc,qEAAqE,CAAC"}
@@ -1,2 +1,2 @@
1
- export const fixedAcceptanceCriteria = `fixed-acceptance-criteria ≜ never changes the examples the work is judged against`;
1
+ export const fixedAcceptanceCriteria = `fixed-acceptance-criteria ≜ never changes the acceptance criteria or examples the work is reviewed against`;
2
2
  //# sourceMappingURL=fixed-acceptance-criteria.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-acceptance-criteria.js","sourceRoot":"","sources":["../../../src/dimensions/guardrails/fixed-acceptance-criteria.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAe,mFAAmF,CAAC"}
1
+ {"version":3,"file":"fixed-acceptance-criteria.js","sourceRoot":"","sources":["../../../src/dimensions/guardrails/fixed-acceptance-criteria.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAe,4GAA4G,CAAC"}