@tacuchi/agent-workflow-cli 21.5.0 → 21.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application/artifacts-service.js +10 -0
- package/dist/application/artifacts-service.js.map +1 -1
- package/dist/application/capability/design-handler.js +224 -12
- package/dist/application/capability/design-handler.js.map +1 -1
- package/dist/application/capability/dispatcher.js +20 -6
- package/dist/application/capability/dispatcher.js.map +1 -1
- package/dist/application/capability/durable-effect.js +23 -157
- package/dist/application/capability/durable-effect.js.map +1 -1
- package/dist/application/checkpoint-service.js +49 -3
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +5 -0
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/design/design-gate-service.js +18 -0
- package/dist/application/design/design-gate-service.js.map +1 -1
- package/dist/application/design/design-index-service.js +2 -0
- package/dist/application/design/design-index-service.js.map +1 -1
- package/dist/application/design/design-resolver-service.js +18 -1
- package/dist/application/design/design-resolver-service.js.map +1 -1
- package/dist/application/design/design-simple-service.js +217 -0
- package/dist/application/design/design-simple-service.js.map +1 -0
- package/dist/application/flow/advance.js +96 -11
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/flow-service.js +12 -1
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +221 -0
- package/dist/application/flow/internal-actions.js.map +1 -0
- package/dist/application/flow/internal-drive.js +293 -0
- package/dist/application/flow/internal-drive.js.map +1 -0
- package/dist/application/flow/submit.js +242 -84
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/local-proposal.js +171 -0
- package/dist/application/local-proposal.js.map +1 -0
- package/dist/application/parsers/decisiones.js +13 -0
- package/dist/application/parsers/decisiones.js.map +1 -1
- package/dist/application/paths-service.js +11 -1
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/resume-service.js +22 -26
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/semantic-operation/protocol.js +10 -2
- package/dist/application/semantic-operation/protocol.js.map +1 -1
- package/dist/application/session-artifacts.js +53 -0
- package/dist/application/session-artifacts.js.map +1 -1
- package/dist/application/session-close-service.js +5 -0
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-narrative.js +294 -0
- package/dist/application/session-narrative.js.map +1 -0
- package/dist/application/status-service.js +1 -0
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/workline-index-service.js +2 -0
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/cli/commands/capability.js +1 -1
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/designs.js +4 -1
- package/dist/cli/commands/designs.js.map +1 -1
- package/dist/cli/commands/flow.js +14 -0
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/session-artifacts.js +55 -2
- package/dist/cli/commands/session-artifacts.js.map +1 -1
- package/dist/cli/tui/components/git-flow-actions.js +233 -15
- package/dist/cli/tui/components/git-flow-actions.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +9 -10
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/domain/design/capability.js +35 -4
- package/dist/domain/design/capability.js.map +1 -1
- package/dist/domain/design/direct.js.map +1 -1
- package/dist/domain/design/expansion.js +137 -0
- package/dist/domain/design/expansion.js.map +1 -0
- package/dist/domain/design/manifest.js +61 -8
- package/dist/domain/design/manifest.js.map +1 -1
- package/dist/domain/design/reference.js +57 -10
- package/dist/domain/design/reference.js.map +1 -1
- package/dist/domain/design/simple.js +164 -0
- package/dist/domain/design/simple.js.map +1 -0
- package/dist/domain/flow/answer.js +90 -12
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +266 -60
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/authorization.js +36 -15
- package/dist/domain/flow/authorization.js.map +1 -1
- package/dist/domain/flow/directive.js +10 -6
- package/dist/domain/flow/directive.js.map +1 -1
- package/dist/domain/flow/execution-result.js +72 -0
- package/dist/domain/flow/execution-result.js.map +1 -0
- package/dist/domain/flow/run-state.js +165 -13
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/host-verification.js +8 -8
- package/dist/domain/host-verification.js.map +1 -1
- package/dist/domain/proposal.js +91 -0
- package/dist/domain/proposal.js.map +1 -0
- package/dist/domain/session/narrative.js +126 -0
- package/dist/domain/session/narrative.js.map +1 -0
- package/package.json +1 -1
- package/skills/w/SKILL.md +1 -1
- package/skills/w/loops/CHASSIS.md +1 -1
- package/skills/w/loops/plan-new-loop/LOOP.md +5 -6
- package/skills/w/loops/plan-refine-loop/LOOP.md +7 -7
- package/skills/w/loops/spec-refine-loop/LOOP.md +6 -4
- package/skills/w/modules/DESIGN-REFERENCES.md +50 -56
- package/skills/w/roles/design/CONTRACT.md +73 -6
- package/skills/w/roles/design/ROLE.md +21 -3
- package/skills/w/schemas/design/design-manifest.v1.schema.json +4 -0
|
@@ -75,7 +75,7 @@ export const CANONICAL_SCHEMAS = {
|
|
|
75
75
|
export const DESIGN_DESCRIPTOR = {
|
|
76
76
|
contract_version: CAPABILITY_CONTRACT_VERSION,
|
|
77
77
|
name: DESIGN_CAPABILITY,
|
|
78
|
-
purpose: "producir, actualizar, juzgar, proyectar y sellar un UI Design Package v1
|
|
78
|
+
purpose: "producir, actualizar, juzgar, proyectar y sellar un diseño sobre un contrato único: un DESIGN.md legible por defecto, el UI Design Package v1 cuando una señal observable lo pide",
|
|
79
79
|
exposure: ["direct", "compose"],
|
|
80
80
|
default_operation: null,
|
|
81
81
|
operations: [
|
|
@@ -95,7 +95,14 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
95
95
|
inputs: [
|
|
96
96
|
{ name: "title", kind: "text", required: true, sensitivity: "public", schema: null },
|
|
97
97
|
{ name: "sources", kind: "reference", required: true, sensitivity: "public", schema: null },
|
|
98
|
-
|
|
98
|
+
// NOT required, and the `workspace: "optional"` note below is why: inside
|
|
99
|
+
// a workspace the destination IS `docs/designs/`, and on the simple route
|
|
100
|
+
// the CLI derives the exact folder from the title. Demanding it anyway
|
|
101
|
+
// made the documented default unreachable through the contract that
|
|
102
|
+
// documents it, and asked the caller to administer a path the CLI knows.
|
|
103
|
+
// `resolveOutputRoot` is the real gate: outside a workspace, no root
|
|
104
|
+
// declared still means nothing written.
|
|
105
|
+
{ name: "target", kind: "text", required: false, sensitivity: "public", schema: null },
|
|
99
106
|
{
|
|
100
107
|
name: "profile",
|
|
101
108
|
kind: "selection",
|
|
@@ -106,7 +113,8 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
106
113
|
{ name: "context", kind: "text", required: false, sensitivity: "public", schema: null },
|
|
107
114
|
// The maturity the caller ASKS FOR. Declared as an input because the
|
|
108
115
|
// answer "you got `outline`, not `handoff`" only means something
|
|
109
|
-
// against something that was requested.
|
|
116
|
+
// against something that was requested. It belongs to the expanded route:
|
|
117
|
+
// a simple design has no ladder, and asking for one there answers null.
|
|
110
118
|
{
|
|
111
119
|
name: "maturity",
|
|
112
120
|
kind: "selection",
|
|
@@ -114,6 +122,16 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
114
122
|
sensitivity: "public",
|
|
115
123
|
schema: null,
|
|
116
124
|
},
|
|
125
|
+
// The SEMANTIC half of the expansion vocabulary. Optional because simple
|
|
126
|
+
// is the default: an invocation that declares nothing gets one readable
|
|
127
|
+
// document, which is the whole point of the route.
|
|
128
|
+
{
|
|
129
|
+
name: "expansion",
|
|
130
|
+
kind: "selection",
|
|
131
|
+
required: false,
|
|
132
|
+
sensitivity: "public",
|
|
133
|
+
schema: null,
|
|
134
|
+
},
|
|
117
135
|
],
|
|
118
136
|
output: {
|
|
119
137
|
kind: "value_and_reference",
|
|
@@ -139,7 +157,13 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
139
157
|
interaction: "needs_input",
|
|
140
158
|
inputs: [
|
|
141
159
|
{ name: "package", kind: "reference", required: true, sensitivity: "public", schema: null },
|
|
142
|
-
|
|
160
|
+
// Required by the ROUTE, not by the envelope. On the expanded route the
|
|
161
|
+
// compare-and-swap base is the caller's claim and the handler refuses an
|
|
162
|
+
// update without it. On the simple route the CLI re-reads the manifest
|
|
163
|
+
// and seals its digest itself — a stronger check than a declared string,
|
|
164
|
+
// and one the caller cannot get wrong — so demanding it here would only
|
|
165
|
+
// ask somebody to administer a revision the route exists to derive.
|
|
166
|
+
{ name: "base", kind: "reference", required: false, sensitivity: "public", schema: null },
|
|
143
167
|
{
|
|
144
168
|
name: "sources",
|
|
145
169
|
kind: "reference",
|
|
@@ -155,6 +179,13 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
155
179
|
sensitivity: "public",
|
|
156
180
|
schema: null,
|
|
157
181
|
},
|
|
182
|
+
{
|
|
183
|
+
name: "expansion",
|
|
184
|
+
kind: "selection",
|
|
185
|
+
required: false,
|
|
186
|
+
sensitivity: "public",
|
|
187
|
+
schema: null,
|
|
188
|
+
},
|
|
158
189
|
],
|
|
159
190
|
output: {
|
|
160
191
|
kind: "value_and_reference",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/domain/design/capability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAG1E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAc,QAAQ,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAI/F;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,6BAA6B;IACvC,QAAQ,EAAE,6BAA6B;IACvC,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,2BAA2B;IACnC,UAAU,EAAE,+BAA+B;IAC3C,SAAS,EAAE,8BAA8B;IACzC,YAAY,EAAE,kCAAkC;CACxC,CAAC;AAIX;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwD;IACpF,gBAAgB,EAAE,2BAA2B;IAC7C,IAAI,EAAE,iBAAiB;IACvB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/domain/design/capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct.js","sourceRoot":"","sources":["../../../src/domain/design/direct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"direct.js","sourceRoot":"","sources":["../../../src/domain/design/direct.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a design would stop being one document — the closed list, and who may say
|
|
3
|
+
* each one.
|
|
4
|
+
*
|
|
5
|
+
* The default route is a single readable `DESIGN.md`. The package — manifest,
|
|
6
|
+
* catalog, screens, flows, maturity ladder, governance — is the EXCEPTION, and an
|
|
7
|
+
* exception nobody can name a cause for is just the old default wearing a new
|
|
8
|
+
* word. So the causes are enumerated here, once, and every extra stage or
|
|
9
|
+
* artifact points back at the one that produced it.
|
|
10
|
+
*
|
|
11
|
+
* The frontier is the same one the flow registry draws between an `agent` row and
|
|
12
|
+
* a `condition.threshold`: recognizing a signal is judgment, counting them is a
|
|
13
|
+
* rule. Three of the five are semantic — only somebody who read the material can
|
|
14
|
+
* say whether two outcomes are independent, whether a decision is functionally
|
|
15
|
+
* blocked, or whether one document has stopped being clear. Two are STRUCTURAL:
|
|
16
|
+
* they are facts the CLI already holds about the invocation, so asking anyone to
|
|
17
|
+
* declare them would be asking for a claim that can disagree with the evidence.
|
|
18
|
+
*
|
|
19
|
+
* A signal outside this vocabulary never expands anything.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* The five causes, and nothing else.
|
|
23
|
+
*
|
|
24
|
+
* `as const` plus the lookup below is what makes it closed in practice and not
|
|
25
|
+
* only in prose: an id that is not here has no entry to read, so it cannot carry
|
|
26
|
+
* a meaning into a receipt.
|
|
27
|
+
*/
|
|
28
|
+
export const DESIGN_EXPANSION_SIGNALS = [
|
|
29
|
+
{
|
|
30
|
+
id: "design.independent-outcomes",
|
|
31
|
+
origin: "semantic",
|
|
32
|
+
means: "el trabajo produce dos o más resultados que valen por separado",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "design.functional-blocking",
|
|
36
|
+
origin: "semantic",
|
|
37
|
+
means: "una decisión funcional sin cerrar bloquea el diseño y hay que resolverla aparte",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "design.clarity-lost",
|
|
41
|
+
origin: "semantic",
|
|
42
|
+
means: "un solo documento dejaría de entenderse: el material ya no cabe legible",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "design.governance-or-system-reuse",
|
|
46
|
+
origin: "structural",
|
|
47
|
+
means: "el trabajo continúa un package que ya lleva decisiones de gobierno o varias revisiones publicadas",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: "design.special-source-or-effect",
|
|
51
|
+
origin: "structural",
|
|
52
|
+
means: "hay una fuente sensible, una transmisión externa o una fuente declarada que no llegó a usarse",
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
const BY_ID = new Map(DESIGN_EXPANSION_SIGNALS.map((s) => [s.id, s]));
|
|
56
|
+
/** The signal an id names, or null when it is outside the vocabulary. */
|
|
57
|
+
export function expansionSignal(id) {
|
|
58
|
+
return BY_ID.get(id) ?? null;
|
|
59
|
+
}
|
|
60
|
+
/** The ids the AGENT may declare — the structural ones are never declared. */
|
|
61
|
+
export const SEMANTIC_EXPANSION_SIGNALS = DESIGN_EXPANSION_SIGNALS.filter((s) => s.origin === "semantic").map((s) => s.id);
|
|
62
|
+
/**
|
|
63
|
+
* How many distinct signals expand the route.
|
|
64
|
+
*
|
|
65
|
+
* One. Each of the five is on its own sufficient — the spec enumerates them as
|
|
66
|
+
* alternatives, not as evidence to accumulate — and a threshold of two would mean
|
|
67
|
+
* a design with a genuinely blocking functional decision stayed simple because
|
|
68
|
+
* nothing else was wrong with it.
|
|
69
|
+
*/
|
|
70
|
+
export const EXPANSION_THRESHOLD = 1;
|
|
71
|
+
/**
|
|
72
|
+
* The structural signals these facts really support.
|
|
73
|
+
*
|
|
74
|
+
* Derived and never declared: the two members it can emit are the two the CLI can
|
|
75
|
+
* be held to, which is why an agent that "declares" one of them is refused rather
|
|
76
|
+
* than believed.
|
|
77
|
+
*/
|
|
78
|
+
export function deriveStructuralSignals(facts) {
|
|
79
|
+
const fired = [];
|
|
80
|
+
if (facts.governanceRecords > 0 || facts.publishedRevisions > 1) {
|
|
81
|
+
fired.push("design.governance-or-system-reuse");
|
|
82
|
+
}
|
|
83
|
+
if (facts.sensitiveSources ||
|
|
84
|
+
facts.externalTransmission ||
|
|
85
|
+
facts.sources.some((s) => s.disposition !== "used")) {
|
|
86
|
+
fired.push("design.special-source-or-effect");
|
|
87
|
+
}
|
|
88
|
+
return fired;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The verdict: which route, which signals fired, and why.
|
|
92
|
+
*
|
|
93
|
+
* Rejections are REPORTED rather than thrown away. An agent that declared
|
|
94
|
+
* `design.special-source-or-effect` is trying to expand on a fact the CLI already
|
|
95
|
+
* checks, and one that declared an invented id is asking for a route nobody can
|
|
96
|
+
* explain later; both deserve to see the answer instead of watching the signal
|
|
97
|
+
* disappear.
|
|
98
|
+
*/
|
|
99
|
+
export function judgeExpansion(declared, structural) {
|
|
100
|
+
const rejected = [];
|
|
101
|
+
const accepted = new Set(structural);
|
|
102
|
+
for (const id of declared) {
|
|
103
|
+
const signal = expansionSignal(id);
|
|
104
|
+
if (signal === null) {
|
|
105
|
+
rejected.push({
|
|
106
|
+
id,
|
|
107
|
+
why: `'${id}' no pertenece al vocabulario de expansión: ${DESIGN_EXPANSION_SIGNALS.map((s) => s.id).join(", ")}`,
|
|
108
|
+
});
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (signal.origin === "structural") {
|
|
112
|
+
rejected.push({
|
|
113
|
+
id,
|
|
114
|
+
why: `'${id}' lo deriva el CLI de la invocación: declararlo no lo hace verdadero`,
|
|
115
|
+
});
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
accepted.add(id);
|
|
119
|
+
}
|
|
120
|
+
// Vocabulary order, not arrival order: the cause a receipt shows has to read
|
|
121
|
+
// the same way for two runs that observed the same things.
|
|
122
|
+
const fired = DESIGN_EXPANSION_SIGNALS.filter((s) => accepted.has(s.id)).map((s) => ({
|
|
123
|
+
id: s.id,
|
|
124
|
+
origin: s.origin,
|
|
125
|
+
means: s.means,
|
|
126
|
+
}));
|
|
127
|
+
if (fired.length < EXPANSION_THRESHOLD) {
|
|
128
|
+
return { mode: "simple", fired, cause: null, rejected };
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
mode: "package",
|
|
132
|
+
fired,
|
|
133
|
+
cause: fired.map((s) => `${s.id}: ${s.means}`).join(" · "),
|
|
134
|
+
rejected,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=expansion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expansion.js","sourceRoot":"","sources":["../../../src/domain/design/expansion.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { CANONICAL_SCHEMAS } from "./capability.js";
|
|
|
3
3
|
import { ARTIFACT_PREFIX, GRAMMAR, isArtifactId, isAssetFilename, isDigest, isPackageId, isRevision, parseArtifactRef, parseBaselineRef, } from "./identity.js";
|
|
4
4
|
import { baselinePath, checkGovernanceNaming, checkNaming } from "./naming.js";
|
|
5
5
|
import { secretFailures } from "./secrets.js";
|
|
6
|
+
import { SIMPLE_DESIGN_FILE, archivedDesignPath } from "./simple.js";
|
|
6
7
|
import { Reader, eachRecord, isNonEmptyString, isRecord, } from "./validation.js";
|
|
7
8
|
/**
|
|
8
9
|
* `design-manifest.json` — the package's MUTABLE index.
|
|
@@ -32,6 +33,7 @@ export const ALLOWED_KEYS = {
|
|
|
32
33
|
"": [
|
|
33
34
|
"schema",
|
|
34
35
|
"id",
|
|
36
|
+
"mode",
|
|
35
37
|
"title",
|
|
36
38
|
"created",
|
|
37
39
|
"derived_from",
|
|
@@ -87,6 +89,10 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
|
|
|
87
89
|
if (!isPackageId(id)) {
|
|
88
90
|
r.invalid(artifact, `'id' no es un identificador de package: ${JSON.stringify(id)}`, "usá la forma DES-NNN (tres dígitos o más), independiente del slug y del path");
|
|
89
91
|
}
|
|
92
|
+
// Read BEFORE the baselines and the catalog: both of them are judged by rules
|
|
93
|
+
// this answer selects, and reading them first would apply the package rules to
|
|
94
|
+
// a simple design and then blame it for obeying its own contract.
|
|
95
|
+
const mode = readMode(r, raw, artifact);
|
|
90
96
|
const title = r.read(raw, "title");
|
|
91
97
|
if (!isNonEmptyString(title)) {
|
|
92
98
|
r.invalid(artifact, "'title' es obligatorio y no puede estar vacío", "poné el nombre humano del package");
|
|
@@ -105,9 +111,11 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
|
|
|
105
111
|
// divergencia: es la línea de baselines, que ya tiene su propio mecanismo.
|
|
106
112
|
r.fail("DESIGN_RELATION_BROKEN", artifact, `'derived_from' apunta a ${String(derivedFrom)}, que es este mismo package`, "una divergencia deriva de OTRO package; dentro del propio, la línea se encadena con 'parent_baseline'");
|
|
107
113
|
}
|
|
108
|
-
const baselines = readBaselines(r, raw, artifact, id);
|
|
114
|
+
const baselines = readBaselines(r, raw, artifact, id, mode);
|
|
109
115
|
const currentBaseline = readCurrentBaseline(r, raw, artifact, baselines);
|
|
110
116
|
const catalog = readCatalog(r, raw, artifact);
|
|
117
|
+
if (mode === "simple")
|
|
118
|
+
checkSimpleShape(r, artifact, catalog);
|
|
111
119
|
const currentness = readCurrentness(r, raw, artifact, id, catalog);
|
|
112
120
|
checkSupersedesIntegrity(r, artifact, id, catalog);
|
|
113
121
|
const governance = readGovernance(r, raw, artifact, baselines, id);
|
|
@@ -119,6 +127,7 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
|
|
|
119
127
|
return done(r, {
|
|
120
128
|
schema: DESIGN_MANIFEST_SCHEMA_ID,
|
|
121
129
|
id: id,
|
|
130
|
+
mode,
|
|
122
131
|
title: title,
|
|
123
132
|
created: created,
|
|
124
133
|
derived_from: derivedFrom,
|
|
@@ -130,17 +139,64 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
|
|
|
130
139
|
relations,
|
|
131
140
|
});
|
|
132
141
|
}
|
|
133
|
-
|
|
142
|
+
/**
|
|
143
|
+
* The route this package runs on. Absent is `package`, and the default is what
|
|
144
|
+
* makes the field additive: nothing already published has to be rewritten.
|
|
145
|
+
*/
|
|
146
|
+
function readMode(r, raw, artifact) {
|
|
147
|
+
const value = r.read(raw, "mode");
|
|
148
|
+
if (value === undefined || value === null)
|
|
149
|
+
return "package";
|
|
150
|
+
if (value === "simple" || value === "package")
|
|
151
|
+
return value;
|
|
152
|
+
r.invalid(artifact, `'mode' no es un modo conocido: ${JSON.stringify(value)}`, "usá 'simple' para un diseño de un solo DESIGN.md, 'package' para el dossier completo, o quitá la clave");
|
|
153
|
+
return "package";
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* What `simple` costs: nothing in the catalog.
|
|
157
|
+
*
|
|
158
|
+
* A simple design has one authored document and derives the rest. The moment it
|
|
159
|
+
* catalogs a screen or a flow it has artifacts, revisions and a maturity ladder —
|
|
160
|
+
* it IS a package, and calling it simple would make every consumer read it under
|
|
161
|
+
* rules its content does not obey.
|
|
162
|
+
*/
|
|
163
|
+
function checkSimpleShape(r, artifact, catalog) {
|
|
164
|
+
const populated = Object.entries(catalog)
|
|
165
|
+
.filter(([, list]) => Array.isArray(list) && list.length > 0)
|
|
166
|
+
.map(([key]) => key);
|
|
167
|
+
if (populated.length === 0)
|
|
168
|
+
return;
|
|
169
|
+
r.fail("DESIGN_FIELD_INVALID", artifact, `un package en modo 'simple' no cataloga artefactos y este declara: ${populated.join(", ")}`, "vacialo, o declará 'mode': 'package' — un diseño con catálogo ya es el recorrido ampliado");
|
|
170
|
+
}
|
|
171
|
+
function readBaselines(r, raw, artifact, packageId, mode) {
|
|
134
172
|
const out = [];
|
|
135
173
|
const seen = new Set();
|
|
136
174
|
for (const entry of eachRecord(r, raw, "baselines", artifact, " (vacío si el package todavía no publicó)")) {
|
|
137
|
-
const parsed = readBaselineEntry(r, entry, artifact, seen, packageId);
|
|
175
|
+
const parsed = readBaselineEntry(r, entry, artifact, seen, packageId, mode);
|
|
138
176
|
if (parsed !== null)
|
|
139
177
|
out.push(parsed);
|
|
140
178
|
}
|
|
141
179
|
return out;
|
|
142
180
|
}
|
|
143
|
-
|
|
181
|
+
/**
|
|
182
|
+
* Where a revision's bytes have to live, and it depends on the route.
|
|
183
|
+
*
|
|
184
|
+
* In `package` mode the baseline is a sealing document of its own and its name
|
|
185
|
+
* carries the revision. In `simple` mode there IS no such document: the revision
|
|
186
|
+
* seals the bytes of the design itself, so the path is the design — `DESIGN.md`
|
|
187
|
+
* while it is current, the archived copy once a newer one supersedes it.
|
|
188
|
+
*/
|
|
189
|
+
function checkBaselinePathName(r, artifact, label, path, packageId, revision, mode) {
|
|
190
|
+
const expected = mode === "simple"
|
|
191
|
+
? [SIMPLE_DESIGN_FILE, archivedDesignPath(revision)]
|
|
192
|
+
: [baselinePath(packageId, revision)];
|
|
193
|
+
if (expected.includes(path))
|
|
194
|
+
return;
|
|
195
|
+
r.invalid(artifact, `${label}: '${path}' no es el nombre de esa revisión`, mode === "simple"
|
|
196
|
+
? `apuntá a '${SIMPLE_DESIGN_FILE}' si es la vigente, o a '${archivedDesignPath(revision)}' si ya la superó otra`
|
|
197
|
+
: `renombralo a '${expected[0]}': la revisión va en el path para que publicar la siguiente no pise esta`);
|
|
198
|
+
}
|
|
199
|
+
function readBaselineEntry(r, entry, artifact, seen, packageId, mode) {
|
|
144
200
|
const revision = r.read(entry, "baselines[].revision");
|
|
145
201
|
const path = r.read(entry, "baselines[].path");
|
|
146
202
|
const digest = r.read(entry, "baselines[].digest");
|
|
@@ -157,10 +213,7 @@ function readBaselineEntry(r, entry, artifact, seen, packageId) {
|
|
|
157
213
|
}
|
|
158
214
|
seen.add(revision);
|
|
159
215
|
if (checkPackagePath(r, artifact, `${label}.path`, path) && isPackageId(packageId)) {
|
|
160
|
-
|
|
161
|
-
if (path !== expected) {
|
|
162
|
-
r.invalid(artifact, `${label}: '${String(path)}' no es el nombre de esa revisión`, `renombralo a '${expected}': la revisión va en el path para que publicar la siguiente no pise esta`);
|
|
163
|
-
}
|
|
216
|
+
checkBaselinePathName(r, artifact, label, String(path), packageId, revision, mode);
|
|
164
217
|
}
|
|
165
218
|
if (!isDigest(digest)) {
|
|
166
219
|
r.invalid(artifact, `${label}: 'digest' debe ser 'sha256:' + 64 hex`, "recalculá el digest del baseline");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/domain/design/manifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/domain/design/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,26 +144,43 @@ export function parseTaskDesignReferences(text, artifact) {
|
|
|
144
144
|
const failures = [];
|
|
145
145
|
const seen = new Set();
|
|
146
146
|
const pinned = new Set();
|
|
147
|
+
// The declared block is where a document says WHICH baselines it closed on.
|
|
148
|
+
// Scanning it for task references too would turn every declaration into a
|
|
149
|
+
// consumption — so a package-mode plan that declares `DES-001@r4` and pins
|
|
150
|
+
// `DES-001@r4 / SCR-002@r1` would suddenly also claim to consume the root.
|
|
151
|
+
const body = withoutDeclaredBlock(text);
|
|
147
152
|
for (const match of text.matchAll(TASK_REFERENCE_SHAPE)) {
|
|
148
153
|
const raw = match[0];
|
|
149
154
|
if (seen.has(raw))
|
|
150
155
|
continue;
|
|
151
156
|
seen.add(raw);
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (baseline === null) {
|
|
156
|
-
const near = approximate(left, artifact, `referencia de tarea '${raw}'`);
|
|
157
|
-
failures.push(near ?? malformed(raw, left, artifact));
|
|
157
|
+
const read = readTwoPart(match[1], match[2], raw, artifact);
|
|
158
|
+
if ("code" in read) {
|
|
159
|
+
failures.push(read);
|
|
158
160
|
continue;
|
|
159
161
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
162
|
+
pinned.add(read.baseline.package);
|
|
163
|
+
references.push(read);
|
|
164
|
+
}
|
|
165
|
+
// The ROOT form: `DES-007@r1` with no artifact half. It is a complete reference
|
|
166
|
+
// for a design that has no catalog, and the gate is what answers whether the
|
|
167
|
+
// package it names really is one — the grammar cannot know.
|
|
168
|
+
for (const match of body.matchAll(ROOT_REFERENCE_SHAPE)) {
|
|
169
|
+
const raw = match[0];
|
|
170
|
+
if (seen.has(raw))
|
|
171
|
+
continue;
|
|
172
|
+
seen.add(raw);
|
|
173
|
+
const baseline = parseBaselineRef(raw);
|
|
174
|
+
// Shaped like a root pin and not one — `DES-0001@r1` is a second spelling of
|
|
175
|
+
// an identity, and every comparison downstream is by string. Reported for
|
|
176
|
+
// the same reason the two-part form is: a reference silently ignored is
|
|
177
|
+
// worse than one rejected.
|
|
178
|
+
if (baseline === null) {
|
|
179
|
+
failures.push(approximate(raw, artifact, "referencia de tarea") ?? malformed(raw, raw, artifact));
|
|
163
180
|
continue;
|
|
164
181
|
}
|
|
165
182
|
pinned.add(baseline.package);
|
|
166
|
-
references.push({ baseline, artifact:
|
|
183
|
+
references.push({ baseline, artifact: null, raw });
|
|
167
184
|
}
|
|
168
185
|
// A package named without being pinned is the exact failure this contract
|
|
169
186
|
// removes — unless the same text pins it, where the bare mention is just prose.
|
|
@@ -177,6 +194,36 @@ export function parseTaskDesignReferences(text, artifact) {
|
|
|
177
194
|
}
|
|
178
195
|
return { references, failures };
|
|
179
196
|
}
|
|
197
|
+
/** `DES-001@r4 / SCR-002@r2#empty` — both halves, or the reason it is not one. */
|
|
198
|
+
function readTwoPart(left, right, raw, artifact) {
|
|
199
|
+
const baseline = parseBaselineRef(left);
|
|
200
|
+
if (baseline === null) {
|
|
201
|
+
return (approximate(left, artifact, `referencia de tarea '${raw}'`) ?? malformed(raw, left, artifact));
|
|
202
|
+
}
|
|
203
|
+
const artifactRef = parseArtifactRef(`${baseline.package}/${right}`);
|
|
204
|
+
if (artifactRef === null)
|
|
205
|
+
return malformed(raw, right, artifact);
|
|
206
|
+
return { baseline, artifact: artifactRef, raw };
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* `DES-007@r1` standing alone — no `/artifact` half after it.
|
|
210
|
+
*
|
|
211
|
+
* The lookahead is what keeps it from eating the left side of a two-part
|
|
212
|
+
* reference: `DES-001@r4 / SCR-002@r1` must be read by `TASK_REFERENCE_SHAPE` as
|
|
213
|
+
* one thing, not by this one as a root plus leftovers.
|
|
214
|
+
*/
|
|
215
|
+
const ROOT_REFERENCE_SHAPE = /DES-[0-9]{3,}@r[1-9][0-9]{0,5}(?!\s*\/)(?![\w@-])/g;
|
|
216
|
+
/** The document minus its `## Design references` block, which declares and never consumes. */
|
|
217
|
+
function withoutDeclaredBlock(markdown) {
|
|
218
|
+
const lines = markdown.split(/\r?\n/);
|
|
219
|
+
const start = lines.findIndex((l) => l.trim() === SPEC_SECTION);
|
|
220
|
+
if (start === -1)
|
|
221
|
+
return markdown;
|
|
222
|
+
const rest = lines.slice(start + 1);
|
|
223
|
+
const end = rest.findIndex((l) => /^##\s/.test(l));
|
|
224
|
+
const after = end === -1 ? [] : rest.slice(end);
|
|
225
|
+
return [...lines.slice(0, start), ...after].join("\n");
|
|
226
|
+
}
|
|
180
227
|
function malformed(raw, part, artifact) {
|
|
181
228
|
return {
|
|
182
229
|
code: "DESIGN_REFERENCE_APPROXIMATE",
|