archctx-contracts 0.7.2 → 0.8.1

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 (58) hide show
  1. package/fixtures/invalid/hook-debt-checkpoint-failed-read.json +54 -0
  2. package/fixtures/invalid/native-context-invalid-model-summary.json +635 -0
  3. package/fixtures/invalid/native-context-missing-contract-bytes.json +636 -0
  4. package/fixtures/invalid/native-context-missing-input-bytes.json +636 -0
  5. package/fixtures/invalid/native-context-mixed-snapshot.json +637 -0
  6. package/fixtures/invalid/projection-result-applied-incomplete-coverage.json +78 -0
  7. package/fixtures/invalid/refactor-decision-open-status.json +38 -0
  8. package/fixtures/valid/archctx-capabilities.json +3 -3
  9. package/fixtures/valid/capability-dependencies.json +1 -1
  10. package/fixtures/valid/docs-anchors.json +2 -1
  11. package/fixtures/valid/flow-selector-check.json +1 -1
  12. package/fixtures/valid/hook-debt-checkpoint.json +54 -0
  13. package/fixtures/valid/native-context-export.json +636 -0
  14. package/fixtures/valid/product-version-manifest.json +8 -8
  15. package/fixtures/valid/projection-manifest.json +47 -169
  16. package/fixtures/valid/projection-result.json +5 -5
  17. package/fixtures/valid/refactor-decision.json +38 -0
  18. package/fixtures/valid/runtime-recommendation-show.json +1 -0
  19. package/fixtures/valid/runtime-refactor-scan.json +6 -0
  20. package/package.json +1 -1
  21. package/schemas/repo/refactor-decision.schema.json +218 -0
  22. package/schemas/runtime/archctx-capabilities.schema.json +2 -2
  23. package/schemas/runtime/architecture-debt.schema.json +222 -0
  24. package/schemas/runtime/capability-dependencies.schema.json +10 -6
  25. package/schemas/runtime/changeset.schema.json +24 -1
  26. package/schemas/runtime/docs-anchors.schema.json +4 -3
  27. package/schemas/runtime/hook-debt-checkpoint.schema.json +69 -0
  28. package/schemas/runtime/native-context-export.schema.json +823 -0
  29. package/schemas/runtime/native-model-issue.schema.json +18 -0
  30. package/schemas/runtime/practice-checkpoint.schema.json +1 -0
  31. package/schemas/runtime/product-version-manifest.schema.json +2 -2
  32. package/schemas/runtime/projection-apply-readback.schema.json +470 -7
  33. package/schemas/runtime/projection-apply-recovery.schema.json +2 -2
  34. package/schemas/runtime/projection-manifest.schema.json +81 -186
  35. package/schemas/runtime/projection-result.schema.json +132 -5
  36. package/schemas/runtime/projection-target.schema.json +4 -1
  37. package/schemas/runtime/recommendation-v3.schema.json +106 -0
  38. package/schemas/runtime/review-result.schema.json +1 -0
  39. package/schemas/runtime/runtime-recommendation-show.schema.json +234 -13
  40. package/schemas/runtime/runtime-refactor-scan.schema.json +171 -0
  41. package/schemas/runtime/structural-observation-payload.schema.json +106 -0
  42. package/src/architecture-debt.ts +115 -0
  43. package/src/changeset-recovery.ts +49 -0
  44. package/src/docs-anchors.ts +2 -1
  45. package/src/failure.ts +810 -0
  46. package/src/index.ts +6 -0
  47. package/src/ledger.ts +14 -3
  48. package/src/native-context.ts +279 -0
  49. package/src/ownership-dependencies.ts +39 -1
  50. package/src/ports.ts +4 -0
  51. package/src/practices.ts +2 -0
  52. package/src/product-version.ts +37 -4
  53. package/src/projection-manifest.ts +372 -130
  54. package/src/projection-recovery.ts +111 -0
  55. package/src/projection.ts +443 -11
  56. package/src/refactor.ts +525 -2
  57. package/src/schema.ts +8 -0
  58. package/src/validator.ts +8 -3
@@ -0,0 +1,78 @@
1
+ {
2
+ "schemaVersion": "archcontext.projection-result/v2",
3
+ "requestId": "projection_request.repo_main",
4
+ "status": "applied",
5
+ "inputSnapshot": {
6
+ "repositoryId": "repo.example",
7
+ "workspaceId": "ws.example",
8
+ "headSha": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
9
+ "baseHeadSha": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
10
+ "worktreeDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
11
+ "sourceTreeDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
12
+ "modelDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
13
+ "codeGraphDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
14
+ "indexedWorktreeDigest": "sha256:4545454545454545454545454545454545454545454545454545454545454545",
15
+ "projectionInputDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
16
+ "rendererVersion": "archcontext.docs-renderer/v6",
17
+ "layoutVersion": "archcontext.docs-layout/v1",
18
+ "generatedFrom": {
19
+ "codeGraphPackage": "@colbymchenry/codegraph",
20
+ "codeGraphVersion": "1.6.2",
21
+ "codeGraphStatus": "ready"
22
+ }
23
+ },
24
+ "outputSnapshot": {
25
+ "repositoryId": "repo.example",
26
+ "workspaceId": "ws.example",
27
+ "headSha": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
28
+ "baseHeadSha": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
29
+ "worktreeDigest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
30
+ "sourceTreeDigest": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
31
+ "modelDigest": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
32
+ "codeGraphDigest": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
33
+ "indexedWorktreeDigest": "sha256:9898989898989898989898989898989898989898989898989898989898989898",
34
+ "projectionInputDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
35
+ "rendererVersion": "archcontext.docs-renderer/v6",
36
+ "layoutVersion": "archcontext.docs-layout/v1",
37
+ "generatedFrom": {
38
+ "codeGraphPackage": "@colbymchenry/codegraph",
39
+ "codeGraphVersion": "1.6.2",
40
+ "codeGraphStatus": "ready"
41
+ }
42
+ },
43
+ "affectedNodeIds": [
44
+ "capability.api"
45
+ ],
46
+ "files": [
47
+ {
48
+ "path": "docs/architecture/modules/api.md",
49
+ "action": "update",
50
+ "preimageDigest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
51
+ "outputDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
52
+ }
53
+ ],
54
+ "humanActions": [],
55
+ "refreshSignals": [],
56
+ "coverage": {
57
+ "complete": false,
58
+ "blockedCapabilityIds": [
59
+ "capability.web"
60
+ ],
61
+ "blockedTargets": [
62
+ {
63
+ "targetId": "projection_target.entity.capability.web",
64
+ "path": "docs/architecture/modules/web.md",
65
+ "capabilityIds": [
66
+ "capability.web"
67
+ ],
68
+ "reasonCodes": [
69
+ "unprovable-required-flow"
70
+ ]
71
+ }
72
+ ],
73
+ "appliedTargetIds": [
74
+ "projection_target.entity.capability.api"
75
+ ]
76
+ },
77
+ "receiptDigest": "sha256:138bc91dd943b22823753ad4f90c1575e13438747b35e4991a3187bef5b6a3fe"
78
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "schemaVersion": "archcontext.refactor-decision/v1",
3
+ "namespace": "product.architecture-context",
4
+ "recommendationId": "recommendation.4aa8477d81e9d473",
5
+ "fingerprint": "sha256:5fcec35f40c11d3c1fbc62d2ee21c794f4abcd201ada86940fe142773cb736c4",
6
+ "fingerprintSchemaVersion": "archcontext.recommendation-fingerprint/v3",
7
+ "category": "structural_observation",
8
+ "kind": "cycle",
9
+ "subject": {
10
+ "selectorKind": "repository",
11
+ "stableKey": "pair:component.architecture-context.core.changeset-engine|component.architecture-context.core.policy-engine",
12
+ "subjectSelectorId": "subject.repository.b7c61fc13826e1e3"
13
+ },
14
+ "affectedNodeIds": [
15
+ "component.architecture-context.core.changeset-engine",
16
+ "component.architecture-context.core.policy-engine"
17
+ ],
18
+ "affectedNodeCount": 2,
19
+ "regressesFrom": null,
20
+ "status": "open",
21
+ "observationMetrics": {
22
+ "backwardEdgeCount": 4,
23
+ "forwardEdgeCount": 1,
24
+ "thinDirectionEdgeCount": 1,
25
+ "totalEdgeCount": 5
26
+ },
27
+ "reason": "The policy engine owns the path allowlist; the back edge is the intended seam.",
28
+ "actor": {
29
+ "kind": "cli",
30
+ "id": "developer"
31
+ },
32
+ "decidedAt": "2026-10-13T09:00:00.000Z",
33
+ "provenance": {
34
+ "headSha": "0c6bc11d00000000000000000000000000000000",
35
+ "assessmentDigest": "sha256:3c0eb0020e00e35b734ac0396c00ef1c01733543ad7863938edcf7906b89c971",
36
+ "baselineSnapshotDigest": "sha256:b5bcfda3c89d235c429f584439f5db74f833abd91d4c12f0b7a477ed49b60e80"
37
+ }
38
+ }
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "schemaVersion": "archcontext.capabilities/v1",
3
- "package": { "name": "archctx", "version": "0.7.2" },
3
+ "package": { "name": "archctx", "version": "0.8.1" },
4
4
  "protocols": {
5
5
  "projectionRequest": "archcontext.projection-request/v1",
6
6
  "projectionResult": "archcontext.projection-result/v2",
7
7
  "architectureRefreshSignal": "archcontext.architecture-refresh-signal/v1"
8
8
  },
9
9
  "renderers": {
10
- "architectureDocs": "archcontext.docs-renderer/v5",
10
+ "architectureDocs": "archcontext.docs-renderer/v6",
11
11
  "agentContext": "archcontext.agent-context-renderer/v1"
12
12
  },
13
- "features": ["architecture-change-capabilities-v1", "architecture-docs-renderer-v2", "architecture-refresh-signal-v1", "capability-dependencies-v1", "changeset-entity-operations-v1", "changeset-ownership-delta-v1", "code-facts-unavailable-error-v1", "docs-anchors-v1", "flow-selector-check-v1", "module-statistics-v1", "projection-apply-readback-v1", "projection-apply-receipt-v1", "projection-apply-recovery-v1", "projection-apply-replay-v1", "projection-check-freshness-v1", "projection-manifest-contract-v2", "projection-observed-major-change-acceptance-v1", "projection-orphan-review-v1", "projection-preview-v1", "projection-prior-committed-applies-v1", "projection-protocol-v2", "recommendation-scan-decision-v1", "recommendation-v3", "refactor-assessment-v1", "refactor-observation-evidence-v1", "refactor-resolution-v1", "refactor-scan-limits-v1", "refactor-scan-untracked-count-v1"]
13
+ "features": ["architecture-change-capabilities-v1", "architecture-debt-v1", "architecture-docs-renderer-v2", "architecture-refresh-signal-v1", "capability-dependencies-declared-v1", "capability-dependencies-v1", "changeset-entity-operations-v1", "changeset-ownership-delta-v1", "code-facts-unavailable-error-v1", "docs-anchors-v1", "flow-selector-check-v1", "module-statistics-v1", "native-context-export-v1", "projection-apply-readback-v1", "projection-apply-receipt-v1", "projection-apply-recovery-v1", "projection-apply-replay-restore-v1", "projection-apply-replay-v1", "projection-architecture-debt-v1", "projection-capability-isolation-v1", "projection-change-classification-v1", "projection-check-freshness-v1", "projection-freshness-v1", "projection-manifest-contract-v3", "projection-observed-major-change-acceptance-v1", "projection-orphan-review-v1", "projection-preview-v1", "projection-prior-committed-applies-v1", "projection-protocol-v2", "projection-snapshot-v1", "recommendation-scan-decision-v1", "recommendation-v3", "refactor-assessment-v1", "refactor-observation-evidence-v1", "refactor-resolution-v1", "refactor-scan-limits-v1", "refactor-scan-untracked-count-v1"]
14
14
  }
@@ -4,7 +4,7 @@
4
4
  "filter": { "from": null, "into": "capability.billing" },
5
5
  "capabilities": ["capability.billing", "capability.checkout"],
6
6
  "matrix": [
7
- { "from": "capability.checkout", "to": "capability.billing", "imports": 2, "calls": null }
7
+ { "from": "capability.checkout", "to": "capability.billing", "imports": 2, "calls": null, "declared": true, "relationIds": ["relation.checkout.calls-billing"] }
8
8
  ],
9
9
  "imports": {
10
10
  "coverage": "complete",
@@ -14,7 +14,8 @@
14
14
  "line-moved": 1,
15
15
  "line-out-of-range": 1,
16
16
  "missing-path": 1,
17
- "missing-symbol": 1
17
+ "missing-symbol": 1,
18
+ "unknown-selector": 0
18
19
  }
19
20
  },
20
21
  "nodes": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "archcontext.flow-selector-check/v1",
3
3
  "ok": false,
4
- "codeGraph": { "availability": "ready", "version": "1.6.1" },
4
+ "codeGraph": { "availability": "ready", "version": "1.6.2" },
5
5
  "summary": { "selectors": 2, "proven": 1, "unproven": 1, "usedUnproven": 1 },
6
6
  "selectors": [
7
7
  {
@@ -0,0 +1,54 @@
1
+ {
2
+ "schemaVersion": "archcontext.hook-debt-checkpoint/v1",
3
+ "debt": {
4
+ "schemaVersion": "archcontext.architecture-debt/v1",
5
+ "scope": {
6
+ "kind": "repository",
7
+ "changedPaths": [],
8
+ "capabilityIds": []
9
+ },
10
+ "coverage": "complete",
11
+ "coverageReasonCodes": [],
12
+ "checks": [
13
+ {
14
+ "check": "ownership",
15
+ "coverage": "complete",
16
+ "reasonCodes": []
17
+ },
18
+ {
19
+ "check": "anchors",
20
+ "coverage": "complete",
21
+ "reasonCodes": []
22
+ },
23
+ {
24
+ "check": "dependencies",
25
+ "coverage": "complete",
26
+ "reasonCodes": []
27
+ },
28
+ {
29
+ "check": "flows",
30
+ "coverage": "complete",
31
+ "reasonCodes": []
32
+ },
33
+ {
34
+ "check": "practices",
35
+ "coverage": "complete",
36
+ "reasonCodes": []
37
+ }
38
+ ],
39
+ "items": [],
40
+ "actionsRequired": [],
41
+ "digest": "sha256:1d40d5a0b5f92e61241f310b1f0c26b342210533455707a93f524d306db88b4e"
42
+ },
43
+ "hookLog": {
44
+ "schemaVersion": "archcontext.hook-log/v1",
45
+ "event": "post-edit",
46
+ "elapsedMs": 12,
47
+ "pathCount": 0,
48
+ "changedPathDigest": "sha256:4ce95370e221ea0a3ef42ee0992d28ac44cbae9b311b7e310061d35b819bb093",
49
+ "reasonCode": "debt-measured",
50
+ "failOpen": false,
51
+ "egress": "none",
52
+ "network": "forbidden"
53
+ }
54
+ }