@cratylus/canon 0.17.0 → 0.19.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/README.md +65 -31
- package/dist/agents/kino.js +1 -1
- package/dist/agents/kino.js.map +1 -1
- package/dist/agents/mav.js +1 -1
- package/dist/agents/mav.js.map +1 -1
- package/dist/agents/nico.js +1 -1
- package/dist/agents/nico.js.map +1 -1
- package/dist/agents/reviewer.d.ts +1 -0
- package/dist/agents/reviewer.js +5 -0
- package/dist/agents/reviewer.js.map +1 -0
- package/dist/contracts.js +81 -82
- package/dist/contracts.js.map +1 -1
- package/dist/dimensions/action-scope/integrate.js +1 -1
- package/dist/dimensions/action-scope/integrate.js.map +1 -1
- package/dist/dimensions/assignment/concepts.js +1 -1
- package/dist/dimensions/assignment/concepts.js.map +1 -1
- package/dist/dimensions/assignment/{judgment-brief.d.ts → review-request.d.ts} +1 -1
- package/dist/dimensions/assignment/review-request.js +2 -0
- package/dist/dimensions/assignment/review-request.js.map +1 -0
- package/dist/dimensions/assignment/{cut-brief.d.ts → task.d.ts} +1 -1
- package/dist/dimensions/assignment/task.js +2 -0
- package/dist/dimensions/assignment/task.js.map +1 -0
- package/dist/dimensions/assignment/{work-package.d.ts → user-story.d.ts} +1 -1
- package/dist/dimensions/assignment/user-story.js +2 -0
- package/dist/dimensions/assignment/user-story.js.map +1 -0
- package/dist/dimensions/autonomy/management-by-exception.d.ts +2 -0
- package/dist/dimensions/autonomy/management-by-exception.js +2 -0
- package/dist/dimensions/autonomy/management-by-exception.js.map +1 -0
- package/dist/dimensions/deliverable/{done-or-failing-case.d.ts → change.d.ts} +1 -1
- package/dist/dimensions/deliverable/change.js +2 -0
- package/dist/dimensions/deliverable/change.js.map +1 -0
- package/dist/dimensions/deliverable/{verdict-per-concept.d.ts → code-review.d.ts} +1 -1
- package/dist/dimensions/deliverable/code-review.js +2 -0
- package/dist/dimensions/deliverable/code-review.js.map +1 -0
- package/dist/dimensions/deliverable/outcome.d.ts +2 -0
- package/dist/dimensions/deliverable/outcome.js +2 -0
- package/dist/dimensions/deliverable/outcome.js.map +1 -0
- package/dist/dimensions/deliverable/read-back.d.ts +2 -0
- package/dist/dimensions/deliverable/read-back.js +2 -0
- package/dist/dimensions/deliverable/read-back.js.map +1 -0
- package/dist/dimensions/expertise/evaluation-design.js +1 -1
- package/dist/dimensions/expertise/evaluation-design.js.map +1 -1
- package/dist/dimensions/expertise/software-delivery.js +1 -1
- package/dist/dimensions/expertise/software-delivery.js.map +1 -1
- package/dist/dimensions/guardrails/fixed-acceptance-criteria.js +1 -1
- package/dist/dimensions/guardrails/fixed-acceptance-criteria.js.map +1 -1
- package/dist/dimensions/guardrails/never-repairs.js +1 -1
- package/dist/dimensions/guardrails/never-repairs.js.map +1 -1
- package/dist/dimensions/model/frontier-other-family.js +1 -1
- package/dist/dimensions/model/frontier-other-family.js.map +1 -1
- package/dist/dimensions/objective/conceptual-integrity.js +1 -1
- package/dist/dimensions/objective/conceptual-integrity.js.map +1 -1
- package/dist/dimensions/objective/correctness.js +1 -1
- package/dist/dimensions/objective/correctness.js.map +1 -1
- package/dist/dimensions/objective/delivery.js +1 -1
- package/dist/dimensions/objective/delivery.js.map +1 -1
- package/dist/dimensions/objective/{verdict-accuracy.d.ts → review-accuracy.d.ts} +1 -1
- package/dist/dimensions/objective/review-accuracy.js +2 -0
- package/dist/dimensions/objective/review-accuracy.js.map +1 -0
- package/dist/dimensions/perception-scope/concept-journal.js +1 -1
- package/dist/dimensions/perception-scope/concept-journal.js.map +1 -1
- package/dist/dimensions/perception-scope/held-out-examples.js +1 -1
- package/dist/dimensions/perception-scope/held-out-examples.js.map +1 -1
- package/dist/dimensions/perception-scope/{work.d.ts → own-task.d.ts} +1 -1
- package/dist/dimensions/perception-scope/own-task.js +2 -0
- package/dist/dimensions/perception-scope/own-task.js.map +1 -0
- package/dist/dimensions/perception-scope/{own-work-package.d.ts → work-product.d.ts} +1 -1
- package/dist/dimensions/perception-scope/work-product.js +2 -0
- package/dist/dimensions/perception-scope/work-product.js.map +1 -0
- package/dist/dimensions/procedure/{freeze.d.ts → code-review.d.ts} +1 -1
- package/dist/dimensions/procedure/code-review.js +2 -0
- package/dist/dimensions/procedure/code-review.js.map +1 -0
- package/dist/dimensions/procedure/orchestrator-workers.d.ts +2 -0
- package/dist/dimensions/procedure/orchestrator-workers.js +2 -0
- package/dist/dimensions/procedure/orchestrator-workers.js.map +1 -0
- package/dist/dimensions/procedure/reconstitution.js +1 -1
- package/dist/dimensions/procedure/reconstitution.js.map +1 -1
- package/dist/dimensions/procedure/{judgment.d.ts → ship-show-ask.d.ts} +1 -1
- package/dist/dimensions/procedure/ship-show-ask.js +2 -0
- package/dist/dimensions/procedure/ship-show-ask.js.map +1 -0
- package/dist/dimensions/procedure/{build.d.ts → test-first.d.ts} +1 -1
- package/dist/dimensions/procedure/test-first.js +2 -0
- package/dist/dimensions/procedure/test-first.js.map +1 -0
- package/dist/dimensions/role/architect.js +1 -1
- package/dist/dimensions/role/architect.js.map +1 -1
- package/dist/dimensions/role/builder.js +1 -1
- package/dist/dimensions/role/builder.js.map +1 -1
- package/dist/dimensions/role/check-writer.js +1 -1
- package/dist/dimensions/role/check-writer.js.map +1 -1
- package/dist/dimensions/role/illustrator.js +1 -1
- package/dist/dimensions/role/illustrator.js.map +1 -1
- package/dist/dimensions/role/lead.js +1 -1
- package/dist/dimensions/role/lead.js.map +1 -1
- package/dist/dimensions/role/{assayer.d.ts → reviewer.d.ts} +1 -1
- package/dist/dimensions/role/reviewer.js +2 -0
- package/dist/dimensions/role/reviewer.js.map +1 -0
- package/dist/dimensions/stance/{proportionate.d.ts → tailoring.d.ts} +1 -1
- package/dist/dimensions/stance/tailoring.js +2 -0
- package/dist/dimensions/stance/tailoring.js.map +1 -0
- package/dist/genus/persona.d.ts +1 -1
- package/dist/genus/persona.js +5 -3
- package/dist/genus/persona.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +9 -8
- package/dist/manifest.js +15 -6
- package/dist/manifest.js.map +1 -1
- package/dist/practices.js +3 -3
- package/dist/practices.js.map +1 -1
- package/dist/roles/architect.js +66 -18
- package/dist/roles/architect.js.map +1 -1
- package/dist/roles/builder.js +14 -16
- package/dist/roles/builder.js.map +1 -1
- package/dist/roles/check-writer.js +7 -8
- package/dist/roles/check-writer.js.map +1 -1
- package/dist/roles/illustrator.js +4 -4
- package/dist/roles/illustrator.js.map +1 -1
- package/dist/roles/lead.js +49 -17
- package/dist/roles/lead.js.map +1 -1
- package/dist/roles/{assayer.d.ts → reviewer.d.ts} +1 -1
- package/dist/roles/{assayer.js → reviewer.js} +41 -25
- package/dist/roles/reviewer.js.map +1 -0
- package/dist/rules/repo-preamble.js +6 -6
- package/dist/rules/repo-preamble.js.map +1 -1
- package/dist/skills/create-agent/skill.js +1 -1
- package/dist/skills/introspect/skill.js +1 -1
- package/dist/skills/signify/skill.js +4 -4
- package/package.json +4 -4
- package/dist/agents/assayer.d.ts +0 -1
- package/dist/agents/assayer.js +0 -5
- package/dist/agents/assayer.js.map +0 -1
- package/dist/dimensions/assignment/cut-brief.js +0 -2
- package/dist/dimensions/assignment/cut-brief.js.map +0 -1
- package/dist/dimensions/assignment/judgment-brief.js +0 -2
- package/dist/dimensions/assignment/judgment-brief.js.map +0 -1
- package/dist/dimensions/assignment/work-package.js +0 -2
- package/dist/dimensions/assignment/work-package.js.map +0 -1
- package/dist/dimensions/deliverable/decisions-with-reasons.d.ts +0 -2
- package/dist/dimensions/deliverable/decisions-with-reasons.js +0 -2
- package/dist/dimensions/deliverable/decisions-with-reasons.js.map +0 -1
- package/dist/dimensions/deliverable/done-or-failing-case.js +0 -2
- package/dist/dimensions/deliverable/done-or-failing-case.js.map +0 -1
- package/dist/dimensions/deliverable/outcome-with-efficiency.d.ts +0 -2
- package/dist/dimensions/deliverable/outcome-with-efficiency.js +0 -2
- package/dist/dimensions/deliverable/outcome-with-efficiency.js.map +0 -1
- package/dist/dimensions/deliverable/verdict-per-concept.js +0 -2
- package/dist/dimensions/deliverable/verdict-per-concept.js.map +0 -1
- package/dist/dimensions/objective/verdict-accuracy.js +0 -2
- package/dist/dimensions/objective/verdict-accuracy.js.map +0 -1
- package/dist/dimensions/perception-scope/own-work-package.js +0 -2
- package/dist/dimensions/perception-scope/own-work-package.js.map +0 -1
- package/dist/dimensions/perception-scope/work.js +0 -2
- package/dist/dimensions/perception-scope/work.js.map +0 -1
- package/dist/dimensions/procedure/build.js +0 -2
- package/dist/dimensions/procedure/build.js.map +0 -1
- package/dist/dimensions/procedure/freeze.js +0 -2
- package/dist/dimensions/procedure/freeze.js.map +0 -1
- package/dist/dimensions/procedure/judgment.js +0 -2
- package/dist/dimensions/procedure/judgment.js.map +0 -1
- package/dist/dimensions/procedure/whole-check.d.ts +0 -2
- package/dist/dimensions/procedure/whole-check.js +0 -2
- package/dist/dimensions/procedure/whole-check.js.map +0 -1
- package/dist/dimensions/role/assayer.js +0 -2
- package/dist/dimensions/role/assayer.js.map +0 -1
- package/dist/dimensions/stance/proportionate.js +0 -2
- package/dist/dimensions/stance/proportionate.js.map +0 -1
- package/dist/roles/assayer.js.map +0 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ optimal-signifiers, authored as typed TypeScript.
|
|
|
6
6
|
The discipline is [latent lexicography](../../VISION.md): describing the vocabulary a foundation model
|
|
7
7
|
already holds, rather than authoring prose and hoping it lands. An agent or skill in this corpus is
|
|
8
8
|
therefore not a prompt. It is a **vector of values** over the catalog's factors, and the
|
|
9
|
-
markdown
|
|
9
|
+
markdown an agent harness reads is a projection of these modules.
|
|
10
10
|
|
|
11
11
|
Canon is harness-agnostic **and** runtime-agnostic: it says what an agent _is_ and what a skill
|
|
12
12
|
_means_, never how either is carried. What every package is for is
|
|
@@ -58,14 +58,41 @@ 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 `
|
|
62
|
-
`
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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 user story's risk
|
|
64
|
+
warrants them. Each role is defined by what it receives and what it hands off, never by steps:
|
|
65
|
+
|
|
66
|
+
- **architect** — the operator's principal architect, owning the conceptual model: receives intent,
|
|
67
|
+
hands off user stories, answers to meaning questions and read-backs; decides meaning only.
|
|
68
|
+
- **lead** — owns a user story's realization, or a task with no story: orchestrates its tasks to
|
|
69
|
+
builders (orchestrator-workers) and their changes to code review as the story's risk calls for
|
|
70
|
+
(Ship, Show or Ask), joins each change by the project's own integration once every check passes
|
|
71
|
+
and any review due before it joins approves it, and hands off the outcome. Where the operator has
|
|
72
|
+
asked to review a change before it joins, no agent reviews it: the operator's review is its code
|
|
73
|
+
review, and it joins only on the operator's sign-off, a hold point.
|
|
74
|
+
- **builder** — receives one task and hands off one change that passes every check.
|
|
75
|
+
- **reviewer** — reviews one change it did not write, before or after it joins as its user story's
|
|
76
|
+
risk calls for, against the change and, where they apply, the story's acceptance criteria and
|
|
77
|
+
examples, held-out ones included; hands off one code review and never builds or repairs the work.
|
|
78
|
+
It never reviews a change the operator has asked to review itself; the operator takes that
|
|
79
|
+
change's held-out examples directly from the design.
|
|
80
|
+
- **illustrator** — writes a user story's examples cold from its concepts alone, flagging unclear
|
|
81
|
+
terms.
|
|
82
|
+
- **check-writer** — writes the checks binding a user story's examples, each seen failing before the
|
|
83
|
+
build.
|
|
84
|
+
|
|
85
|
+
The reviewer, the illustrator and the check-writer run on another model family than the builders
|
|
86
|
+
where one is available. A role cell (`src/roles/<role>.ts`) states a value for every factor, an
|
|
87
|
+
explicitly empty set counting as one, and `agents/<role>.ts` is `holder(<role>Role)`: named for the
|
|
88
|
+
role, carrying nothing beyond it and no mark. `holder` refuses a cell missing a factor, a scalar
|
|
89
|
+
without exactly one value, a slot not filled exactly once, and empty guardrails.
|
|
90
|
+
|
|
91
|
+
kino, nico and mav are personas over the architect role, each named for its expertise (kino film
|
|
92
|
+
production and generative video, nico the corpus and latent lexicography, mav software
|
|
93
|
+
engineering). The architect role owns the conceptual model of every context it is given, the
|
|
94
|
+
corpus included; a persona brings its expertise and owns nothing its role does not.
|
|
95
|
+
Each is `persona(architectRole, residue)`:
|
|
69
96
|
an agent named as an individual, with a description and a mark of its own beside the values it
|
|
70
97
|
states. A single value it states replaces the role's, a slot only its own slot; a set value is added
|
|
71
98
|
after the role's, and restating one the role holds changes only its enforcement level or note. It
|
|
@@ -79,7 +106,7 @@ harm from one is on record (decision 0142(2)).
|
|
|
79
106
|
A composed agent also says, for the projector, the role it holds (`holds`), its model's tier and
|
|
80
107
|
effort (`routing`), its typed handoff (`contract`) and the per-turn persistence protocol every agent
|
|
81
108
|
re-grounds its stance by (`persistence`). Nothing narrows its tools or whom it may dispatch: every
|
|
82
|
-
agent keeps the harness's defaults (0142). Its `key` is reserved for ipseic agents and is empty.
|
|
109
|
+
agent keeps the agent harness's defaults (0142). Its `key` is reserved for ipseic agents and is empty.
|
|
83
110
|
`holder`, `persona`, `CompositionRefusal`, the six role cells and `MANIFEST` are also named exports,
|
|
84
111
|
for a corpus that composes agents of its own over these roles.
|
|
85
112
|
|
|
@@ -87,29 +114,36 @@ for a corpus that composes agents of its own over these roles.
|
|
|
87
114
|
|
|
88
115
|
An assignment and a deliverable are values of their factors, and each carries its contract as JSON
|
|
89
116
|
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
|
-
|
|
93
|
-
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
|
|
|
98
|
-
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
117
|
+
the value's anchor). Composition copies the pair onto the agent as `contract`. Each handoff states
|
|
118
|
+
what it must contain, so one passed without a part shows what is missing (`?` marks an optional
|
|
119
|
+
field, `[≥1]` a list that may not be empty):
|
|
120
|
+
|
|
121
|
+
| Role | Assignment | Deliverable |
|
|
122
|
+
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
|
|
123
|
+
| lead | user 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}` |
|
|
124
|
+
| builder | task `{task, story?, goal, changes, decisions, done}` | change `{change, tests, verified}` |
|
|
125
|
+
| reviewer | review request `{change, story?, acceptanceCriteria?, examples?}` | code review `{verdict, findings, meaningQuestions}` |
|
|
126
|
+
| check-writer | examples `{story, examples[≥1]}` | checks seen red `{story, checks}` |
|
|
127
|
+
| illustrator | concepts `{story, concepts[≥1]}` | examples with flagged terms `{examples, flaggedTerms}` |
|
|
128
|
+
|
|
129
|
+
The lead's assignment takes either form, stated as alternatives (`anyOf`); it fits when it fits any
|
|
130
|
+
one. Its outcome names the user story, or for a task with no story the task, and holds each
|
|
131
|
+
acceptance criterion (or, for a task, what done means) with whether it holds and its evidence, and
|
|
132
|
+
the cost in agent runs by role, tokens and elapsed time. A code review's `verdict` is `approve` or
|
|
133
|
+
`changes`. The architect's handoffs are a person's — free-text intent in, a read-back to the
|
|
134
|
+
operator out (where things stand, with one recommendation) — so it carries no contract. An agent
|
|
135
|
+
harness binds the deliverable as its own output schema, shows the assignment form when an agent is
|
|
136
|
+
dispatched or launched, and checks the assignment given (one fenced `assignment` JSON block in the
|
|
137
|
+
dispatch text) with the schema package's `checkAssignment`, warning of each missing or ill-typed
|
|
138
|
+
field, of the closest form where there are alternatives; it never refuses the dispatch or the launch
|
|
139
|
+
for it (0142(3)).
|
|
140
|
+
|
|
141
|
+
## Evaluation and persona drift
|
|
108
142
|
|
|
109
143
|
Every agent's behaviour is evaluated in real use, by the operator working with it: its evaluation
|
|
110
144
|
factor holds the one value `in-use`, and no guard, hook or model-judged check holds its acts or its
|
|
111
|
-
replies (0142(1)).
|
|
112
|
-
and its definition is revised on the evidence of use.
|
|
145
|
+
replies (0142(1)). Persona drift is held by the agent's own text, the persistence protocol naming
|
|
146
|
+
its tells, and its definition is revised on the evidence of use.
|
|
113
147
|
|
|
114
148
|
## The first principle
|
|
115
149
|
|
|
@@ -135,7 +169,7 @@ entry. Canon reaches the projector as **data** — the corpus is passed to it as
|
|
|
135
169
|
cell imports it.
|
|
136
170
|
|
|
137
171
|
No cell imports the runtime either. A skill names the capability it routes to — `concepts` or
|
|
138
|
-
`
|
|
172
|
+
`versionSkew`, the two built into the runtime — as `runtime: { capability: … }`,
|
|
139
173
|
never its implementation, and a cell that emits shell invoking the binary carries it as a fact the
|
|
140
174
|
projector substitutes at emission. That is the architecture's highest-ranked property — meaning
|
|
141
175
|
and mechanism never referencing each other — and [ARCHITECTURE.md](../../ARCHITECTURE.md) records
|
package/dist/agents/kino.js
CHANGED
|
@@ -8,7 +8,7 @@ import { userCentered } from '../dimensions/stance/user-centered.js';
|
|
|
8
8
|
import { architectRole } from '../roles/architect.js';
|
|
9
9
|
export const kino = persona(architectRole, {
|
|
10
10
|
name: 'kino',
|
|
11
|
-
description: "Architect
|
|
11
|
+
description: "Architect expert in film production and generative video: teaches the layman operator the industry's own practice, each recommendation traced to its source.",
|
|
12
12
|
mark: { emoji: '🎬', hue: 'magenta' },
|
|
13
13
|
values: {
|
|
14
14
|
expertise: [filmProduction, generativeVideo],
|
package/dist/agents/kino.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kino.js","sourceRoot":"","sources":["../../src/agents/kino.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sBAAsB;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE;IACzC,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"kino.js","sourceRoot":"","sources":["../../src/agents/kino.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sBAAsB;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE;IACzC,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,8JAA8J;IAChK,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE;IACrC,MAAM,EAAE;QACN,SAAS,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;QAC5C,MAAM,EAAE,CAAC,YAAY,CAAC;QACtB,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;KAC1E;CACF,CAAC,CAAC"}
|
package/dist/agents/mav.js
CHANGED
|
@@ -6,7 +6,7 @@ import { softwareEngineering } from '../dimensions/expertise/software-engineerin
|
|
|
6
6
|
import { architectRole } from '../roles/architect.js';
|
|
7
7
|
export const mav = persona(architectRole, {
|
|
8
8
|
name: 'mav',
|
|
9
|
-
description:
|
|
9
|
+
description: 'Architect expert in software engineering: models any repository it is given as a software engineer would.',
|
|
10
10
|
mark: { emoji: '✈️', hue: 'green' },
|
|
11
11
|
values: {
|
|
12
12
|
expertise: [softwareEngineering],
|
package/dist/agents/mav.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mav.js","sourceRoot":"","sources":["../../src/agents/mav.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,sBAAsB;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE;IACxC,IAAI,EAAE,KAAK;IACX,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"mav.js","sourceRoot":"","sources":["../../src/agents/mav.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,sBAAsB;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE;IACxC,IAAI,EAAE,KAAK;IACX,WAAW,EACT,2GAA2G;IAC7G,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE;IACnC,MAAM,EAAE;QACN,SAAS,EAAE,CAAC,mBAAmB,CAAC;QAChC,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9D;CACF,CAAC,CAAC"}
|
package/dist/agents/nico.js
CHANGED
|
@@ -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
|
|
15
|
+
description: "Architect expert in the corpus and latent lexicography: 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: [
|
package/dist/agents/nico.js.map
CHANGED
|
@@ -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,
|
|
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,4NAA4N;IAC9N,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 @@
|
|
|
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
|
|
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
|
-
//
|
|
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
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
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 {
|
|
19
|
-
import {
|
|
20
|
+
import { reviewRequest } from './dimensions/assignment/review-request.js';
|
|
21
|
+
import { task } from './dimensions/assignment/task.js';
|
|
22
|
+
import { userStory } from './dimensions/assignment/user-story.js';
|
|
23
|
+
import { change } from './dimensions/deliverable/change.js';
|
|
20
24
|
import { checksSeenRed } from './dimensions/deliverable/checks-seen-red.js';
|
|
21
|
-
import {
|
|
25
|
+
import { codeReview } from './dimensions/deliverable/code-review.js';
|
|
22
26
|
import { examplesWithFlaggedTerms } from './dimensions/deliverable/examples-with-flagged-terms.js';
|
|
23
|
-
import {
|
|
24
|
-
import { verdictPerConcept } from './dimensions/deliverable/verdict-per-concept.js';
|
|
27
|
+
import { outcome } from './dimensions/deliverable/outcome.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
|
|
41
|
-
const
|
|
43
|
+
// What a field of a handover names, said once for every handover that holds it.
|
|
44
|
+
const storyField = said(text, 'The user 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 code 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 hold point: the operator's review is that change's code review, under Ask, and no agent reviews it."),
|
|
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 user 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 user 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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
+
userStory,
|
|
72
|
+
{
|
|
73
|
+
anyOf: [
|
|
74
|
+
said(storyForm, 'A user 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
|
-
|
|
81
|
+
reviewRequest,
|
|
66
82
|
record({
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}),
|
|
83
|
+
change: said(text, 'The change to review, by its reference.'),
|
|
84
|
+
story: said(text, 'The user 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
106
|
+
outcome,
|
|
91
107
|
said(record({
|
|
92
|
-
|
|
93
|
-
|
|
108
|
+
story: said(text, 'The user 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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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 code 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
|
-
},
|
|
111
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
}), "The lead's
|
|
126
|
+
elapsed: said(text, 'The time the story took, from its start to its end.'),
|
|
127
|
+
}), 'What the story cost, as the agent harness records it.'),
|
|
128
|
+
}), "The lead's outcome of the user 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
|
-
|
|
125
|
-
record({
|
|
126
|
-
'
|
|
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
|
-
|
|
139
|
+
codeReview,
|
|
131
140
|
record({
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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 code 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
|
-
|
|
149
|
+
story: storyField,
|
|
151
150
|
checks: {
|
|
152
151
|
type: 'array',
|
|
153
152
|
items: record({ example: text, check: text, seenRed: flag }),
|
package/dist/contracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const integrate = `integrate ≜
|
|
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 code 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,
|
|
1
|
+
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../../src/dimensions/action-scope/integrate.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAgB,qKAAqK,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const concepts = `concepts ≜ a
|
|
1
|
+
export const concepts = `concepts ≜ a user 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,
|
|
1
|
+
{"version":3,"file":"concepts.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/concepts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAe,yCAAyC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Assignment } from '../../manifest.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const reviewRequest: Assignment;
|
|
@@ -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,+LAA+L,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Assignment } from '../../manifest.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const task: Assignment;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/task.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAe,mIAAmI,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Assignment } from '../../manifest.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const userStory: Assignment;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const userStory = `user-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=user-story.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-story.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/user-story.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAe,8TAA8T,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"management-by-exception.js","sourceRoot":"","sources":["../../../src/dimensions/autonomy/management-by-exception.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAa,iLAAiL,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Deliverable } from '../../manifest.js';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const change: Deliverable;
|
|
@@ -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
|
|
2
|
+
export declare const codeReview: Deliverable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-review.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/code-review.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAgB,6GAA6G,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const outcome = `outcome ≜ which of the user 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,kOAAkO,CAAC"}
|