@acidicsoil/portable-capabilities 0.1.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 (68) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +231 -0
  3. package/canonical/exceptions/antigravity-unsupported-primitives.yaml +16 -0
  4. package/canonical/exceptions/claude-code-unsupported-primitives.yaml +16 -0
  5. package/canonical/exceptions/codex-unsupported-primitives.yaml +16 -0
  6. package/canonical/exceptions/dcode-unsupported-primitives.yaml +16 -0
  7. package/canonical/exceptions/oh-my-pi-unsupported-primitives.yaml +16 -0
  8. package/canonical/exceptions/opencode-unsupported-primitives.yaml +16 -0
  9. package/canonical/exceptions/pi-unsupported-primitives.yaml +16 -0
  10. package/canonical/families/comparative-traceability.yaml +18 -0
  11. package/canonical/families/context-template-generation.yaml +18 -0
  12. package/canonical/families/corrective-transformation.yaml +18 -0
  13. package/canonical/families/exemplar-modeling.yaml +18 -0
  14. package/canonical/families/guardrails-evaluation.yaml +18 -0
  15. package/canonical/families/workflow-intent-abstraction.yaml +18 -0
  16. package/canonical/fixtures/runtime-primitive-matrix-112.json +1956 -0
  17. package/canonical/operations/compare.artifacts.yaml +22 -0
  18. package/canonical/operations/generation.render.yaml +22 -0
  19. package/canonical/operations/inference.classify.yaml +22 -0
  20. package/canonical/operations/ingest.sources.yaml +22 -0
  21. package/canonical/operations/normalize.artifacts.yaml +22 -0
  22. package/canonical/operations/patterns.extract.yaml +22 -0
  23. package/canonical/operations/segment.surfaces.yaml +22 -0
  24. package/canonical/operations/trace.build-evidence-ledger.yaml +22 -0
  25. package/canonical/operations/validation.contract.yaml +22 -0
  26. package/canonical/policies/evidence-policy.yaml +22 -0
  27. package/canonical/roles/acceptance-criteria-synthesis.yaml +84 -0
  28. package/canonical/roles/anti-pattern-inversion.yaml +83 -0
  29. package/canonical/roles/behavior-preserving-refactor.yaml +88 -0
  30. package/canonical/roles/canonical-exemplar-generalization.yaml +84 -0
  31. package/canonical/roles/constrained-exemplar-adaptation.yaml +85 -0
  32. package/canonical/roles/convention-mining.yaml +81 -0
  33. package/canonical/roles/conversation-to-specification.yaml +83 -0
  34. package/canonical/roles/delta-analysis.yaml +84 -0
  35. package/canonical/roles/domain-context-boundary.yaml +82 -0
  36. package/canonical/roles/evaluation-harness-design.yaml +86 -0
  37. package/canonical/roles/failure-to-guardrail.yaml +81 -0
  38. package/canonical/roles/multi-exemplar-consensus.yaml +81 -0
  39. package/canonical/roles/reference-trace-mapping.yaml +83 -0
  40. package/canonical/roles/reusable-workflow-abstraction.yaml +82 -0
  41. package/canonical/roles/structural-pattern-extraction.yaml +82 -0
  42. package/canonical/roles/template-family-generation.yaml +83 -0
  43. package/canonical/runtime-primitive-policy.yaml +100 -0
  44. package/canonical/runtime-profiles/antigravity.yaml +60 -0
  45. package/canonical/runtime-profiles/claude-code.yaml +65 -0
  46. package/canonical/runtime-profiles/codex.yaml +71 -0
  47. package/canonical/runtime-profiles/dcode.yaml +67 -0
  48. package/canonical/runtime-profiles/oh-my-pi.yaml +62 -0
  49. package/canonical/runtime-profiles/opencode.yaml +65 -0
  50. package/canonical/runtime-profiles/pi.yaml +66 -0
  51. package/canonical/schemas/acceptance-criteria-synthesis.output.schema.json +63 -0
  52. package/canonical/schemas/anti-pattern-inversion.output.schema.json +63 -0
  53. package/canonical/schemas/behavior-preserving-refactor.output.schema.json +63 -0
  54. package/canonical/schemas/canonical-exemplar-generalization.output.schema.json +63 -0
  55. package/canonical/schemas/constrained-exemplar-adaptation.output.schema.json +63 -0
  56. package/canonical/schemas/convention-mining.output.schema.json +63 -0
  57. package/canonical/schemas/conversation-to-specification.output.schema.json +63 -0
  58. package/canonical/schemas/delta-analysis.output.schema.json +63 -0
  59. package/canonical/schemas/domain-context-boundary.output.schema.json +63 -0
  60. package/canonical/schemas/evaluation-harness-design.output.schema.json +73 -0
  61. package/canonical/schemas/failure-to-guardrail.output.schema.json +63 -0
  62. package/canonical/schemas/multi-exemplar-consensus.output.schema.json +63 -0
  63. package/canonical/schemas/reference-trace-mapping.output.schema.json +63 -0
  64. package/canonical/schemas/reusable-workflow-abstraction.output.schema.json +73 -0
  65. package/canonical/schemas/structural-pattern-extraction.output.schema.json +63 -0
  66. package/canonical/schemas/template-family-generation.output.schema.json +63 -0
  67. package/canonical/taxonomy/analytical-capabilities.yaml +95 -0
  68. package/package.json +66 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,11 @@
1
+ # Changelog
2
+
3
+ ## 1.0.0
4
+
5
+ - Added canonical schemas, contracts, nine shared operations, six families, and 16 analytical roles.
6
+ - Added seven runtime profiles and native adapters plus a reference adapter.
7
+ - Added eight-layer conformance, semantic equivalence, traceability, property testing, fault injection, metamorphic tests, and regression scenarios.
8
+ - Added the public `portable-capabilities` CLI with `build`, `validate`, `test`, `diff`, `inspect`, and `invoke`.
9
+ - Added safe Execa runtime invocation, structured JSON results, diagnostics, JSONL traces, and content-addressed artifacts.
10
+ - Added Changesets, GitHub Actions, Lefthook, deterministic runtime bundles, npm tarball install-and-run verification, and clean-checkout release verification.
11
+ - Corrected release policy so generated `dist/` output is ignored and untracked; drift uses independent double generation.
package/README.md ADDED
@@ -0,0 +1,231 @@
1
+ # Portable Capabilities
2
+
3
+ [![CI](https://github.com/AcidicSoil/portable-capabilities/actions/workflows/ci.yml/badge.svg)](https://github.com/AcidicSoil/portable-capabilities/actions/workflows/ci.yml)
4
+ [![Node.js](https://img.shields.io/badge/Node.js-%E2%89%A524.14.0-339933?logo=nodedotjs&logoColor=white)](https://nodejs.org/)
5
+ [![pnpm](https://img.shields.io/badge/pnpm-11.1.3-F69220?logo=pnpm&logoColor=white)](https://pnpm.io/)
6
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.8-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
7
+ [![Status](https://img.shields.io/badge/status-v1.0%20in%20progress-5B5BD6)](.planning/STATE.md)
8
+
9
+ Define an analytical capability once, then compile it into deterministic, traceable packages for multiple coding-agent runtimes.
10
+
11
+ Portable Capabilities is a contract-first TypeScript toolchain for expressing reusable analytical behavior independently of any one prompt format or agent platform. Canonical role contracts, schemas, policies, and operations are resolved into a runtime-neutral projection and rendered through adapters for:
12
+
13
+ - oh-my-pi
14
+ - OpenCode
15
+ - Pi
16
+ - Claude Code
17
+ - Codex
18
+ - Google Antigravity
19
+ - Deep Agents Code
20
+
21
+ > **Project status:** the v1.0 milestone is still in progress. Phases 1–6 are complete; Phase 6.1, runtime usability and behavioral closure, is planned and has not yet been executed. See [project state](.planning/STATE.md) and the [Phase 6.1 plan set](.planning/phases/06.1-runtime-usability-and-behavioral-closure/).
22
+
23
+ ## Why this exists
24
+
25
+ Agent runtimes expose different package layouts, activation primitives, permission controls, and execution models. Encoding the same analytical capability separately for each runtime creates drift and makes behavioral claims difficult to verify.
26
+
27
+ Portable Capabilities separates the portable contract from the runtime projection:
28
+
29
+ ```text
30
+ canonical contracts
31
+
32
+ validation + deterministic resolution
33
+
34
+ runtime-neutral projection
35
+
36
+ runtime adapters
37
+
38
+ native packages + conformance evidence
39
+ ```
40
+
41
+ The core invariant is simple:
42
+
43
+ > One canonical capability definition must produce semantically equivalent, traceable behavior across every supported runtime.
44
+
45
+ ## Quick start
46
+
47
+ ### Prerequisites
48
+
49
+ - Node.js 24.14.0 or newer
50
+ - pnpm 11.1.3
51
+ - Git
52
+
53
+ ### Run from the repository
54
+
55
+ ```bash
56
+ corepack prepare pnpm@11.1.3 --activate
57
+ git clone https://github.com/AcidicSoil/portable-capabilities.git
58
+ cd portable-capabilities
59
+ pnpm install --frozen-lockfile
60
+ pnpm cli -- --help
61
+ ```
62
+
63
+ Build the current tracer fixture as structured JSON:
64
+
65
+ ```bash
66
+ pnpm cli -- build fixtures/tracer/system.yaml --format json
67
+ ```
68
+
69
+ Write generated output to an explicit directory:
70
+
71
+ ```bash
72
+ pnpm cli -- build fixtures/tracer/system.yaml --output ./generated
73
+ ```
74
+
75
+ Generated artifacts are reproducible outputs, not source authority. Repository drift checks generate independently in temporary directories and compare normalized results.
76
+
77
+ ## Current capabilities
78
+
79
+ The repository currently includes:
80
+
81
+ - Sixteen canonical analytical role contracts
82
+ - Six capability families and nine shared operations
83
+ - Versioned schemas, policy evaluation, diagnostics, evidence classes, and provenance
84
+ - Deterministic compiler resolution and normalized file generation
85
+ - Seven runtime profiles and adapter packages, plus a reference adapter
86
+ - Structured conformance results, semantic comparison, property tests, fault injection, and regression fixtures
87
+ - A public CLI exposing `build`, `validate`, `test`, `diff`, `inspect`, and `invoke`
88
+ - CI, package verification, runtime bundle generation, clean-checkout release checks, and generated-output drift verification
89
+
90
+ Phase 6.1 is responsible for closing the remaining release-blocking gaps around operational skills, transitive package resources, truthful native projection, effect enforcement, clean-consumer runtime execution, installation lifecycle, and executable documentation.
91
+
92
+ ## CLI
93
+
94
+ The intended public v1 distribution is `@portable-capabilities/cli`, installed with the executable:
95
+
96
+ ```text
97
+ portable-capabilities
98
+ ```
99
+
100
+ Current command surface:
101
+
102
+ | Command | Purpose |
103
+ | ---------- | ------------------------------------------------------------------ |
104
+ | `build` | Compile canonical input into generated runtime packages |
105
+ | `validate` | Validate canonical documents, projections, and generated artifacts |
106
+ | `test` | Run conformance checks |
107
+ | `diff` | Compare independently generated output |
108
+ | `inspect` | Examine resolved contracts, profiles, and projection data |
109
+ | `invoke` | Launch a selected runtime through the CLI boundary |
110
+
111
+ The command surface exists today, but Phase 6.1 will replace remaining tracer-oriented paths with fully installed, runtime-native workflows before the milestone is declared complete.
112
+
113
+ ## Architecture
114
+
115
+ ```text
116
+ canonical/
117
+ roles · families · operations · policies · runtime profiles
118
+
119
+
120
+ packages/contracts + packages/schemas
121
+
122
+
123
+ packages/compiler
124
+ load · validate · resolve · enforce · digest · write
125
+
126
+
127
+ packages/renderer-core + packages/adapters/*
128
+
129
+ ├── generated runtime packages
130
+ └── conformance evidence
131
+
132
+
133
+ packages/cli
134
+ ```
135
+
136
+ The repository follows a strict dependency direction:
137
+
138
+ 1. Canonical documents define portable behavior.
139
+ 2. Contracts and schemas define the shared vocabulary.
140
+ 3. The compiler resolves deterministic system state.
141
+ 4. Renderer core and adapters select runtime-native representations.
142
+ 5. The CLI exposes user workflows.
143
+ 6. Conformance verifies structure, behavior, safety, traceability, and regression outcomes.
144
+
145
+ See [Architecture](docs/ARCHITECTURE.md) for package-level detail.
146
+
147
+ ## Workspace
148
+
149
+ | Package | Responsibility |
150
+ | -------------------------------------- | ---------------------------------------------------------------- |
151
+ | `@portable-capabilities/contracts` | Shared readonly domain contracts |
152
+ | `@portable-capabilities/schemas` | JSON Schema registry and validation |
153
+ | `@portable-capabilities/operations` | Shared analytical operations and families |
154
+ | `@portable-capabilities/compiler` | Loading, resolution, policy, provenance, diagnostics, and output |
155
+ | `@portable-capabilities/renderer-core` | Projection IR and adapter contracts |
156
+ | `@portable-capabilities/adapter-*` | Runtime-specific private adapters |
157
+ | `@portable-capabilities/fixtures` | Deterministic fixtures and regression inputs |
158
+ | `@portable-capabilities/conformance` | Centralized verification implementation and tests |
159
+ | `@portable-capabilities/cli` | Public command-line package |
160
+
161
+ Internal workspace packages remain private implementation modules. Normal CI never publishes packages automatically.
162
+
163
+ ## Development
164
+
165
+ Common commands:
166
+
167
+ ```bash
168
+ pnpm build
169
+ pnpm typecheck
170
+ pnpm lint
171
+ pnpm format:check
172
+ pnpm test:run
173
+ pnpm verify:generated-drift
174
+ pnpm ci
175
+ ```
176
+
177
+ Release-oriented checks:
178
+
179
+ ```bash
180
+ pnpm release:pack:verify
181
+ pnpm release:bundles:verify
182
+ pnpm docs:verify
183
+ pnpm release:verify
184
+ ```
185
+
186
+ Tests are centralized under `packages/conformance/src/`. TypeScript, JavaScript, and JSON use Biome; YAML uses Prettier.
187
+
188
+ ## Project status and limitations
189
+
190
+ The existing implementation proves the contract/compiler/adapter/CLI architecture and the Phase 6 release gates. It does **not** yet justify unconditional production-readiness claims for all seven runtimes.
191
+
192
+ Known Phase 6.1 closure work includes:
193
+
194
+ - Complete operational instructions for every generated skill
195
+ - Transitive, source-independent package resource closure
196
+ - Runtime-specific primitive selection and native permission controls
197
+ - Separate CLI invocation confinement
198
+ - Exact compatibility baselines and authoritative runtime harnesses
199
+ - Four linked digest and lock layers
200
+ - Collision-safe `install`, `status`, `upgrade`, and `remove`
201
+ - Installed-artifact clean-consumer behavioral conformance
202
+ - Eight explicit conformance layers and seven normative regression scenarios
203
+
204
+ The complete dependency-ordered plan is in [Phase 6.1](.planning/phases/06.1-runtime-usability-and-behavioral-closure/).
205
+
206
+ ## Documentation
207
+
208
+ - [Getting Started](docs/GETTING-STARTED.md)
209
+ - [Architecture](docs/ARCHITECTURE.md)
210
+ - [Development](docs/DEVELOPMENT.md)
211
+ - [Testing](docs/TESTING.md)
212
+ - [Configuration](docs/CONFIGURATION.md)
213
+ - [Deployment and CI](docs/DEPLOYMENT.md)
214
+ - [Migration](docs/MIGRATION.md)
215
+ - [Releasing](docs/RELEASING.md)
216
+ - [Product Requirements](docs/prd/product.md)
217
+ - [Runtime Usability Closure PRD](docs/prd/runtime-usability-closure.md)
218
+
219
+ ## Planning workflow
220
+
221
+ GSD planning and milestone evidence live under `.planning/`:
222
+
223
+ - [Project definition](.planning/PROJECT.md)
224
+ - [Requirements](.planning/REQUIREMENTS.md)
225
+ - [Roadmap](.planning/ROADMAP.md)
226
+ - [Current state](.planning/STATE.md)
227
+ - [Codebase map](.planning/codebase/)
228
+
229
+ The current next step is to execute the ten gated Phase 6.1 plans only after their prerequisite and review gates remain satisfied.
230
+
231
+ See [the normative runtime primitive matrix](docs/prd/runtime-primitive-matrix.md) for verified client activation selection.
@@ -0,0 +1,16 @@
1
+ schemaVersion: "1.0"
2
+ id: antigravity-unsupported-primitives
3
+ runtime: antigravity
4
+ scope: capability:native-primitives
5
+ rationale: antigravity does not expose every portable wrapper primitive natively.
6
+ impact:
7
+ Unsupported primitives (command, agent, extension, memory) are not emitted
8
+ as native wrappers.
9
+ fallback:
10
+ Use the generated skill and external resources as the portable behavioral
11
+ unit.
12
+ tests:
13
+ - native-matrix:all-cells
14
+ - runtime-profiles:unsupported-fallbacks
15
+ provenance: docs/prd/product.md#runtime-projection-layer
16
+ reviewDate: "2027-01-27"
@@ -0,0 +1,16 @@
1
+ schemaVersion: "1.0"
2
+ id: claude-code-unsupported-primitives
3
+ runtime: claude-code
4
+ scope: capability:native-primitives
5
+ rationale: claude-code does not expose every portable wrapper primitive natively.
6
+ impact:
7
+ Unsupported primitives (workflow, rule, extension, memory) are not emitted
8
+ as native wrappers.
9
+ fallback:
10
+ Use the generated skill and external resources as the portable behavioral
11
+ unit.
12
+ tests:
13
+ - native-matrix:all-cells
14
+ - runtime-profiles:unsupported-fallbacks
15
+ provenance: docs/prd/product.md#runtime-projection-layer
16
+ reviewDate: "2027-01-27"
@@ -0,0 +1,16 @@
1
+ schemaVersion: "1.0"
2
+ id: codex-unsupported-primitives
3
+ runtime: codex
4
+ scope: capability:native-primitives
5
+ rationale: codex does not expose every portable wrapper primitive natively.
6
+ impact:
7
+ Unsupported primitives (command, workflow, rule, extension, memory) are not
8
+ emitted as native wrappers.
9
+ fallback:
10
+ Use the generated skill and external resources as the portable behavioral
11
+ unit.
12
+ tests:
13
+ - native-matrix:all-cells
14
+ - runtime-profiles:unsupported-fallbacks
15
+ provenance: docs/prd/product.md#runtime-projection-layer
16
+ reviewDate: "2027-01-27"
@@ -0,0 +1,16 @@
1
+ schemaVersion: "1.0"
2
+ id: dcode-unsupported-primitives
3
+ runtime: dcode
4
+ scope: capability:native-primitives
5
+ rationale: dcode does not expose every portable wrapper primitive natively.
6
+ impact:
7
+ Unsupported primitives (command, agent, workflow, rule, extension, memory) are not emitted
8
+ as native wrappers.
9
+ fallback:
10
+ Use the generated skill and external resources as the portable behavioral
11
+ unit.
12
+ tests:
13
+ - native-matrix:all-cells
14
+ - runtime-profiles:unsupported-fallbacks
15
+ provenance: docs/prd/product.md#runtime-projection-layer
16
+ reviewDate: "2027-01-27"
@@ -0,0 +1,16 @@
1
+ schemaVersion: "1.0"
2
+ id: oh-my-pi-unsupported-primitives
3
+ runtime: oh-my-pi
4
+ scope: capability:native-primitives
5
+ rationale: oh-my-pi does not expose every portable wrapper primitive natively.
6
+ impact:
7
+ Unsupported primitives (command, agent, workflow, rule, extension, memory) are not emitted
8
+ as native wrappers.
9
+ fallback:
10
+ Use the generated skill and external resources as the portable behavioral
11
+ unit.
12
+ tests:
13
+ - native-matrix:all-cells
14
+ - runtime-profiles:unsupported-fallbacks
15
+ provenance: docs/prd/product.md#runtime-projection-layer
16
+ reviewDate: "2027-01-27"
@@ -0,0 +1,16 @@
1
+ schemaVersion: "1.0"
2
+ id: opencode-unsupported-primitives
3
+ runtime: opencode
4
+ scope: capability:native-primitives
5
+ rationale: opencode does not expose every portable wrapper primitive natively.
6
+ impact:
7
+ Unsupported primitives (workflow, rule, extension, memory) are not emitted
8
+ as native wrappers.
9
+ fallback:
10
+ Use the generated skill and external resources as the portable behavioral
11
+ unit.
12
+ tests:
13
+ - native-matrix:all-cells
14
+ - runtime-profiles:unsupported-fallbacks
15
+ provenance: docs/prd/product.md#runtime-projection-layer
16
+ reviewDate: "2027-01-27"
@@ -0,0 +1,16 @@
1
+ schemaVersion: "1.0"
2
+ id: pi-unsupported-primitives
3
+ runtime: pi
4
+ scope: capability:native-primitives
5
+ rationale: pi does not expose every portable wrapper primitive natively.
6
+ impact:
7
+ Unsupported primitives (command, agent, workflow, rule, memory) are not emitted
8
+ as native wrappers.
9
+ fallback:
10
+ Use the generated skill and external resources as the portable behavioral
11
+ unit.
12
+ tests:
13
+ - native-matrix:all-cells
14
+ - runtime-profiles:unsupported-fallbacks
15
+ provenance: docs/prd/product.md#runtime-projection-layer
16
+ reviewDate: "2027-01-27"
@@ -0,0 +1,18 @@
1
+ schemaVersion: "1.0"
2
+ id: comparative-traceability
3
+ version: 1.0.0
4
+ purpose: Compare and map evidence across artifacts.
5
+ allowedOperations:
6
+ - ingest.sources
7
+ - normalize.artifacts
8
+ - segment.surfaces
9
+ - trace.build-evidence-ledger
10
+ - patterns.extract
11
+ - compare.artifacts
12
+ - inference.classify
13
+ - generation.render
14
+ - validation.contract
15
+ requiredBehavior:
16
+ - Preserve traceability.
17
+ forbiddenBehavior:
18
+ - Do not obscure unresolved conflicts.
@@ -0,0 +1,18 @@
1
+ schemaVersion: "1.0"
2
+ id: context-template-generation
3
+ version: 1.0.0
4
+ purpose: Define context boundaries and reusable templates.
5
+ allowedOperations:
6
+ - ingest.sources
7
+ - normalize.artifacts
8
+ - segment.surfaces
9
+ - trace.build-evidence-ledger
10
+ - patterns.extract
11
+ - compare.artifacts
12
+ - inference.classify
13
+ - generation.render
14
+ - validation.contract
15
+ requiredBehavior:
16
+ - Preserve traceability.
17
+ forbiddenBehavior:
18
+ - Do not obscure unresolved conflicts.
@@ -0,0 +1,18 @@
1
+ schemaVersion: "1.0"
2
+ id: corrective-transformation
3
+ version: 1.0.0
4
+ purpose: Correct structure while preserving intended behavior.
5
+ allowedOperations:
6
+ - ingest.sources
7
+ - normalize.artifacts
8
+ - segment.surfaces
9
+ - trace.build-evidence-ledger
10
+ - patterns.extract
11
+ - compare.artifacts
12
+ - inference.classify
13
+ - generation.render
14
+ - validation.contract
15
+ requiredBehavior:
16
+ - Preserve traceability.
17
+ forbiddenBehavior:
18
+ - Do not obscure unresolved conflicts.
@@ -0,0 +1,18 @@
1
+ schemaVersion: "1.0"
2
+ id: exemplar-modeling
3
+ version: 1.0.0
4
+ purpose: Generalize and adapt exemplars.
5
+ allowedOperations:
6
+ - ingest.sources
7
+ - normalize.artifacts
8
+ - segment.surfaces
9
+ - trace.build-evidence-ledger
10
+ - patterns.extract
11
+ - compare.artifacts
12
+ - inference.classify
13
+ - generation.render
14
+ - validation.contract
15
+ requiredBehavior:
16
+ - Preserve traceability.
17
+ forbiddenBehavior:
18
+ - Do not obscure unresolved conflicts.
@@ -0,0 +1,18 @@
1
+ schemaVersion: "1.0"
2
+ id: guardrails-evaluation
3
+ version: 1.0.0
4
+ purpose: Convert failure knowledge into guardrails and tests.
5
+ allowedOperations:
6
+ - ingest.sources
7
+ - normalize.artifacts
8
+ - segment.surfaces
9
+ - trace.build-evidence-ledger
10
+ - patterns.extract
11
+ - compare.artifacts
12
+ - inference.classify
13
+ - generation.render
14
+ - validation.contract
15
+ requiredBehavior:
16
+ - Preserve traceability.
17
+ forbiddenBehavior:
18
+ - Do not obscure unresolved conflicts.
@@ -0,0 +1,18 @@
1
+ schemaVersion: "1.0"
2
+ id: workflow-intent-abstraction
3
+ version: 1.0.0
4
+ purpose: Abstract workflows and intent.
5
+ allowedOperations:
6
+ - ingest.sources
7
+ - normalize.artifacts
8
+ - segment.surfaces
9
+ - trace.build-evidence-ledger
10
+ - patterns.extract
11
+ - compare.artifacts
12
+ - inference.classify
13
+ - generation.render
14
+ - validation.contract
15
+ requiredBehavior:
16
+ - Preserve traceability.
17
+ forbiddenBehavior:
18
+ - Do not obscure unresolved conflicts.