archctx-contracts 0.6.3 → 0.7.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.
- package/fixtures/invalid/recommendation-v3-structural-before-evidence.json +59 -0
- package/fixtures/valid/archctx-capabilities.json +3 -3
- package/fixtures/valid/capability-dependencies.json +35 -0
- package/fixtures/valid/docs-anchors.json +105 -0
- package/fixtures/valid/flow-selector-check.json +50 -0
- package/fixtures/valid/product-version-manifest.json +6 -6
- package/fixtures/valid/projection-manifest.json +175 -0
- package/fixtures/valid/projection-result.json +5 -5
- package/fixtures/valid/recommendation-v3.json +69 -0
- package/fixtures/valid/runtime-recommendation-show.json +312 -0
- package/fixtures/valid/runtime-refactor-scan.json +543 -0
- package/package.json +1 -1
- package/schemas/runtime/archctx-capabilities.schema.json +7 -2
- package/schemas/runtime/architecture-refresh-signal.schema.json +27 -0
- package/schemas/runtime/capability-dependencies.schema.json +116 -0
- package/schemas/runtime/changeset.schema.json +42 -16
- package/schemas/runtime/docs-anchors.schema.json +143 -0
- package/schemas/runtime/flow-selector-check.schema.json +109 -0
- package/schemas/runtime/projection-apply-readback.schema.json +351 -10
- package/schemas/runtime/projection-apply-recovery.schema.json +24 -3
- package/schemas/runtime/projection-manifest.schema.json +491 -0
- package/schemas/runtime/projection-request.schema.json +11 -2
- package/schemas/runtime/projection-result.schema.json +108 -8
- package/schemas/runtime/recommendation-v3.schema.json +1167 -0
- package/schemas/runtime/runtime-recommendation-show.schema.json +2463 -0
- package/schemas/runtime/runtime-refactor-scan.schema.json +2508 -0
- package/schemas/runtime/structural-observation-payload.schema.json +579 -0
- package/src/architecture.ts +6 -3
- package/src/docs-anchors.ts +126 -0
- package/src/index.ts +3 -0
- package/src/ledger.ts +26 -10
- package/src/ownership-dependencies.ts +129 -0
- package/src/product-version.ts +2 -2
- package/src/projection-manifest.ts +346 -0
- package/src/projection.ts +406 -6
- package/src/refactor.ts +305 -1
- package/src/schema.ts +20 -4
- package/src/validator.ts +87 -15
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.recommendation/v3",
|
|
3
|
+
"recommendationId": "recommendation.c8c842b3d8529388",
|
|
4
|
+
"runId": "recommendation_run.9d3423295f1a45e6",
|
|
5
|
+
"fingerprint": "sha256:27b2fed8524041b6003797081dbf77355d7fccfa54327becf00ecaef0728db2a",
|
|
6
|
+
"subject": "capability.architecture.context",
|
|
7
|
+
"status": "open",
|
|
8
|
+
"confidence": "low",
|
|
9
|
+
"enforcement": "advisory",
|
|
10
|
+
"risk": "medium",
|
|
11
|
+
"uncertainty": "high",
|
|
12
|
+
"evidenceBindingIds": [
|
|
13
|
+
"binding.7577455e29083b0b"
|
|
14
|
+
],
|
|
15
|
+
"explanation": [
|
|
16
|
+
"capability.architecture.context declares no source.include footprint, so none of its files or imports are measured.",
|
|
17
|
+
"It declares no entrypoint paths either."
|
|
18
|
+
],
|
|
19
|
+
"authoredBy": {
|
|
20
|
+
"kind": "daemon",
|
|
21
|
+
"id": "archctxd",
|
|
22
|
+
"source": "daemon"
|
|
23
|
+
},
|
|
24
|
+
"subjectSelectorId": "subject.node.d4eae75fb5b5121f",
|
|
25
|
+
"relations": {},
|
|
26
|
+
"createdAt": "2026-10-11T04:21:31.000Z",
|
|
27
|
+
"updatedAt": "2026-10-11T04:21:31.000Z",
|
|
28
|
+
"category": "structural_observation",
|
|
29
|
+
"payload": {
|
|
30
|
+
"assessmentDigest": "sha256:308510d9a08558453b9644d33fe24a73f4579832c448602b24c5053bdc4aa5ca",
|
|
31
|
+
"kind": "undeclared-footprint",
|
|
32
|
+
"affectedNodeIds": [
|
|
33
|
+
"capability.architecture.context"
|
|
34
|
+
],
|
|
35
|
+
"baselineSnapshotDigest": "sha256:35796bb112cab526dfe31a9ad84bc9df5d28b6a9ef4154d7d3c2d7d3a7753f7e",
|
|
36
|
+
"derivedOutcomes": [
|
|
37
|
+
{
|
|
38
|
+
"metric": "module.footprintDeclared",
|
|
39
|
+
"subjectSelectorId": "subject.node.d4eae75fb5b5121f",
|
|
40
|
+
"nodeId": "capability.architecture.context",
|
|
41
|
+
"operator": "present",
|
|
42
|
+
"value": null,
|
|
43
|
+
"required": true,
|
|
44
|
+
"outcomeId": "outcome.58946c9d4f0f41c1"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"extensions": {
|
|
49
|
+
"assessmentDigest": "sha256:308510d9a08558453b9644d33fe24a73f4579832c448602b24c5053bdc4aa5ca",
|
|
50
|
+
"baselineSnapshotDigest": "sha256:35796bb112cab526dfe31a9ad84bc9df5d28b6a9ef4154d7d3c2d7d3a7753f7e",
|
|
51
|
+
"riskSignals": [
|
|
52
|
+
"ownership-change"
|
|
53
|
+
],
|
|
54
|
+
"uncertaintySignals": [
|
|
55
|
+
"low-coverage"
|
|
56
|
+
],
|
|
57
|
+
"score": 23
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "archcontext.capabilities/v1",
|
|
3
|
-
"package": { "name": "archctx", "version": "0.
|
|
3
|
+
"package": { "name": "archctx", "version": "0.7.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/
|
|
10
|
+
"architectureDocs": "archcontext.docs-renderer/v5",
|
|
11
11
|
"agentContext": "archcontext.agent-context-renderer/v1"
|
|
12
12
|
},
|
|
13
|
-
"features": ["architecture-docs-renderer-v2", "architecture-refresh-signal-v1", "module-statistics-v1", "projection-apply-readback-v1", "projection-apply-receipt-v1", "projection-apply-recovery-v1", "projection-prior-committed-applies-v1", "projection-protocol-v2", "recommendation-v3", "refactor-assessment-v1", "refactor-resolution-v1"]
|
|
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"]
|
|
14
14
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.capability-dependencies/v1",
|
|
3
|
+
"ownershipRule": "parent-chain",
|
|
4
|
+
"filter": { "from": null, "into": "capability.billing" },
|
|
5
|
+
"capabilities": ["capability.billing", "capability.checkout"],
|
|
6
|
+
"matrix": [
|
|
7
|
+
{ "from": "capability.checkout", "to": "capability.billing", "imports": 2, "calls": null }
|
|
8
|
+
],
|
|
9
|
+
"imports": {
|
|
10
|
+
"coverage": "complete",
|
|
11
|
+
"reasonCodes": [],
|
|
12
|
+
"truncated": false,
|
|
13
|
+
"importNodeCount": 14,
|
|
14
|
+
"importNodeLimit": 50000,
|
|
15
|
+
"importNodeLimitExceeded": false,
|
|
16
|
+
"edgeCount": 3,
|
|
17
|
+
"unresolvedCount": 0,
|
|
18
|
+
"unattributed": { "unownedEndpoint": 1, "contestedEndpoint": 0, "noCapabilityEndpoint": 0 }
|
|
19
|
+
},
|
|
20
|
+
"calls": { "coverage": "unknown", "reasonCodes": ["call-edges-not-exposed"] },
|
|
21
|
+
"edges": {
|
|
22
|
+
"limit": 200,
|
|
23
|
+
"count": 2,
|
|
24
|
+
"omittedCount": 0,
|
|
25
|
+
"items": [
|
|
26
|
+
{ "fromPath": "src/checkout/cart.ts", "toPath": "src/billing/invoice.ts", "fromCapability": "capability.checkout", "toCapability": "capability.billing" },
|
|
27
|
+
{ "fromPath": "src/checkout/pay.ts", "toPath": "src/billing/invoice.ts", "fromCapability": "capability.checkout", "toCapability": "capability.billing" }
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"worktree": {
|
|
31
|
+
"headSha": "0123456789abcdef0123456789abcdef01234567",
|
|
32
|
+
"worktreeDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000000"
|
|
33
|
+
},
|
|
34
|
+
"privacy": { "writes": "none" }
|
|
35
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.docs-anchors/v1",
|
|
3
|
+
"profile": "repo-harness/v1",
|
|
4
|
+
"codeGraph": {
|
|
5
|
+
"availability": "ready"
|
|
6
|
+
},
|
|
7
|
+
"summary": {
|
|
8
|
+
"nodes": 3,
|
|
9
|
+
"documents": 2,
|
|
10
|
+
"citations": 6,
|
|
11
|
+
"findings": 4,
|
|
12
|
+
"unchecked": 1,
|
|
13
|
+
"byKind": {
|
|
14
|
+
"line-moved": 1,
|
|
15
|
+
"line-out-of-range": 1,
|
|
16
|
+
"missing-path": 1,
|
|
17
|
+
"missing-symbol": 1
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"nodes": [
|
|
21
|
+
{
|
|
22
|
+
"nodeId": "capability.runtime-harness.evals-checks",
|
|
23
|
+
"documentPath": "docs/architecture/modules/runtime-harness/evals-checks.md",
|
|
24
|
+
"citationCount": 2,
|
|
25
|
+
"findings": [
|
|
26
|
+
{
|
|
27
|
+
"kind": "missing-symbol",
|
|
28
|
+
"origin": {
|
|
29
|
+
"kind": "node-responsibility",
|
|
30
|
+
"index": 0
|
|
31
|
+
},
|
|
32
|
+
"citation": {
|
|
33
|
+
"text": "is_evidence_producer_command()",
|
|
34
|
+
"symbol": "is_evidence_producer_command"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"unchecked": []
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"nodeId": "capability.runtime-harness.hook-adapters",
|
|
42
|
+
"documentPath": "docs/architecture/modules/runtime-harness/hook-adapters.md",
|
|
43
|
+
"citationCount": 4,
|
|
44
|
+
"findings": [
|
|
45
|
+
{
|
|
46
|
+
"kind": "line-moved",
|
|
47
|
+
"origin": {
|
|
48
|
+
"kind": "document",
|
|
49
|
+
"path": "docs/architecture/modules/runtime-harness/hook-adapters.md",
|
|
50
|
+
"line": 41
|
|
51
|
+
},
|
|
52
|
+
"citation": {
|
|
53
|
+
"text": "route-registry.ts:52",
|
|
54
|
+
"path": "route-registry.ts",
|
|
55
|
+
"resolvedPath": "src/hooks/route-registry.ts",
|
|
56
|
+
"line": 52,
|
|
57
|
+
"symbol": "registerRoute"
|
|
58
|
+
},
|
|
59
|
+
"currentLines": [
|
|
60
|
+
54
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"kind": "line-out-of-range",
|
|
65
|
+
"origin": {
|
|
66
|
+
"kind": "document",
|
|
67
|
+
"path": "docs/architecture/modules/runtime-harness/hook-adapters.md",
|
|
68
|
+
"line": 44
|
|
69
|
+
},
|
|
70
|
+
"citation": {
|
|
71
|
+
"text": "src/hooks/runtime.ts:410",
|
|
72
|
+
"path": "src/hooks/runtime.ts",
|
|
73
|
+
"line": 410
|
|
74
|
+
},
|
|
75
|
+
"lineCount": 362
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"kind": "missing-path",
|
|
79
|
+
"origin": {
|
|
80
|
+
"kind": "node-summary"
|
|
81
|
+
},
|
|
82
|
+
"citation": {
|
|
83
|
+
"text": "src/hooks/legacy-adapter.ts",
|
|
84
|
+
"path": "src/hooks/legacy-adapter.ts"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"unchecked": [
|
|
89
|
+
{
|
|
90
|
+
"reasonCode": "path-ambiguous",
|
|
91
|
+
"origin": {
|
|
92
|
+
"kind": "document",
|
|
93
|
+
"path": "docs/architecture/modules/runtime-harness/hook-adapters.md",
|
|
94
|
+
"line": 50
|
|
95
|
+
},
|
|
96
|
+
"citation": {
|
|
97
|
+
"text": "index.ts:12",
|
|
98
|
+
"path": "index.ts",
|
|
99
|
+
"line": 12
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.flow-selector-check/v1",
|
|
3
|
+
"ok": false,
|
|
4
|
+
"codeGraph": { "availability": "ready", "version": "1.6.1" },
|
|
5
|
+
"summary": { "selectors": 2, "proven": 1, "unproven": 1, "usedUnproven": 1 },
|
|
6
|
+
"selectors": [
|
|
7
|
+
{
|
|
8
|
+
"nodeId": "capability.runtime.hooks",
|
|
9
|
+
"entrypointId": "entrypoint.hook.stop",
|
|
10
|
+
"sourcePath": "src/hook.ts",
|
|
11
|
+
"sourceSymbol": "runHook",
|
|
12
|
+
"sinkId": "sink.hook.journal",
|
|
13
|
+
"sinkPath": "src/journal.ts",
|
|
14
|
+
"sinkSymbol": "writeEvent",
|
|
15
|
+
"status": "proven",
|
|
16
|
+
"callSites": [{ "path": "src/hook.ts", "line": 12 }],
|
|
17
|
+
"referenceSites": [],
|
|
18
|
+
"rejectedBuiltinCallSites": [],
|
|
19
|
+
"flowSteps": [{ "flowId": "flow.runtime.hooks.stop", "stepId": "persist" }]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"nodeId": "capability.runtime.hooks",
|
|
23
|
+
"entrypointId": "entrypoint.hook.stop",
|
|
24
|
+
"sourcePath": "src/hook.ts",
|
|
25
|
+
"sourceSymbol": "runHook",
|
|
26
|
+
"sinkId": "sink.hook.resolve",
|
|
27
|
+
"sinkPath": "src/paths.ts",
|
|
28
|
+
"sinkSymbol": "resolve",
|
|
29
|
+
"status": "false-builtin-call",
|
|
30
|
+
"callSites": [],
|
|
31
|
+
"referenceSites": [],
|
|
32
|
+
"rejectedBuiltinCallSites": [{ "path": "src/hook.ts", "line": 7 }],
|
|
33
|
+
"flowSteps": [{ "flowId": "flow.runtime.hooks.stop", "stepId": "resolve" }]
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"capabilities": [
|
|
37
|
+
{
|
|
38
|
+
"capabilityId": "capability.runtime.hooks",
|
|
39
|
+
"p2Status": "unprovable",
|
|
40
|
+
"diagnostics": [
|
|
41
|
+
{
|
|
42
|
+
"code": "selector-evidence-unmatched",
|
|
43
|
+
"flowId": "flow.runtime.hooks.stop",
|
|
44
|
+
"stepId": "resolve",
|
|
45
|
+
"detail": "entrypoint.hook.stop runHook sink.hook.resolve"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
"schemaVersion": "archcontext.product-version-manifest/v1",
|
|
3
3
|
"product": {
|
|
4
4
|
"name": "archctx",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.7.1",
|
|
6
6
|
"distribution": "one-package"
|
|
7
7
|
},
|
|
8
|
-
"packageManager": "bun@1.4.
|
|
8
|
+
"packageManager": "bun@1.4.3",
|
|
9
9
|
"engines": {
|
|
10
10
|
"node": ">=22.22 <26"
|
|
11
11
|
},
|
|
12
12
|
"surfaces": {
|
|
13
13
|
"cli": {
|
|
14
14
|
"packageName": "@archcontext/surfaces",
|
|
15
|
-
"version": "0.
|
|
15
|
+
"version": "0.7.1",
|
|
16
16
|
"entrypoint": "archctx"
|
|
17
17
|
},
|
|
18
18
|
"daemon": {
|
|
19
19
|
"packageName": "@archcontext/local-runtime",
|
|
20
|
-
"version": "0.
|
|
20
|
+
"version": "0.7.1",
|
|
21
21
|
"entrypoint": "archctx daemon start",
|
|
22
22
|
"rpcSchemaVersion": "archcontext.runtime-rpc/v1"
|
|
23
23
|
},
|
|
24
24
|
"mcp": {
|
|
25
25
|
"packageName": "@archcontext/surfaces",
|
|
26
|
-
"version": "0.
|
|
26
|
+
"version": "0.7.1",
|
|
27
27
|
"entrypoint": "archctx mcp",
|
|
28
28
|
"transport": "stdio"
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"schemas": {
|
|
32
32
|
"schemaSetVersion": "2026-06-25.al0-ledger",
|
|
33
|
-
"contractsPackageVersion": "0.
|
|
33
|
+
"contractsPackageVersion": "0.7.1",
|
|
34
34
|
"reviewChallenge": "archcontext.review-challenge/v2",
|
|
35
35
|
"attestation": "archcontext.attestation/v2",
|
|
36
36
|
"deviceIdentity": "archcontext.device-identity/v1",
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.architecture-docs-projection-manifest/v2",
|
|
3
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
4
|
+
"profile": "repo-harness/v1",
|
|
5
|
+
"sourceDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
6
|
+
"provenance": {
|
|
7
|
+
"schemaVersion": "archcontext.architecture-docs-projection-provenance/v3",
|
|
8
|
+
"sourceTreeDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
9
|
+
"modelDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
10
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
11
|
+
"layoutVersion": "archcontext.docs-layout/v1",
|
|
12
|
+
"generatedFrom": {
|
|
13
|
+
"codeGraphPackage": "@colbymchenry/codegraph",
|
|
14
|
+
"codeGraphVersion": "1.6.1"
|
|
15
|
+
},
|
|
16
|
+
"projectionInputDigest": "sha256:16f337f3a1e0eac82b565ca1a0dc04629af1df60d7e2b9ad9b767c21ae581d4c"
|
|
17
|
+
},
|
|
18
|
+
"projectionDigest": "sha256:336562d0f1772c32f64a5fe7ee62d49fb17ac6ef7c9d820385c05e538ed1e5d1",
|
|
19
|
+
"semanticBaseline": {
|
|
20
|
+
"semanticState": {
|
|
21
|
+
"schemaVersion": "archcontext.architecture-semantic-state/v1",
|
|
22
|
+
"capabilities": [
|
|
23
|
+
{
|
|
24
|
+
"capabilityId": "capability.example.billing",
|
|
25
|
+
"memberNodeIds": [
|
|
26
|
+
"capability.example.billing"
|
|
27
|
+
],
|
|
28
|
+
"semanticFingerprint": "sha256:a6357941efd4f3307106c1650eca068e30db5d704e83a90ff238a1cda3c39471",
|
|
29
|
+
"flowProofFingerprint": "sha256:066fed47f724c54dca2e7c9d01c79bc05362004b1c49edb593bf80cd239e66f8",
|
|
30
|
+
"proofStatus": {
|
|
31
|
+
"p1": "unprovable",
|
|
32
|
+
"p2": "not-applicable"
|
|
33
|
+
},
|
|
34
|
+
"facets": {
|
|
35
|
+
"constraints": "sha256:d1c61fe896c27d26f03ec0c3d4ee584954bedee94abc988f5cc2ba12fa9aa246",
|
|
36
|
+
"entrypoints": "sha256:040e1e188d64957a0fbf33d790c062bb4b63ceae21e8d054720d2ef3c974ebca",
|
|
37
|
+
"interfaces": "sha256:78dd8a6e8eb5a106964ebdd464b873b6ed58f857c3d816a0b595106addac12b2",
|
|
38
|
+
"lifecycle": "sha256:45e0f02c02e3b6b1b9a7d4b30e9acb7aac52e68ca7fea468377cfa6e7ed1236f",
|
|
39
|
+
"names": "sha256:1e91c01c88f9156cc043971b089aa573d1ab0873a4ea73fbe12728775142f9b7",
|
|
40
|
+
"ownership": "sha256:a00ea5710e08406444452ccf3bce97d054e2c2d6595d0f560e98b32b04500c01",
|
|
41
|
+
"placement": "sha256:b5f9e3fd0ce231d6b4b05bd918c93043cc15d7f3b592b12b84972904e0f1b74d",
|
|
42
|
+
"relations": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
43
|
+
"responsibilities": "sha256:310fb2a928123d4df66bd32884e7eba3a854be1928f8d7c73e99fef59a5fb91a",
|
|
44
|
+
"riskBoundaries": "sha256:6457da469f290fa149c5eccbbc6347d7604fee7c59f5b231d10493e7722a57fe"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"semanticFingerprint": "sha256:e5a66426ccb094ed525d4640727fa051f56cf447ade1a30c3d4034956fe376ab",
|
|
49
|
+
"flowProofFingerprint": "sha256:e435532a8614ec60bcae46f17b28e81bc847e4429d26fad19070264eca5dce3e"
|
|
50
|
+
},
|
|
51
|
+
"digests": {
|
|
52
|
+
"modelDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
53
|
+
"sourceTreeDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
54
|
+
"flowProofDigest": "sha256:e435532a8614ec60bcae46f17b28e81bc847e4429d26fad19070264eca5dce3e",
|
|
55
|
+
"projectionDigest": "sha256:336562d0f1772c32f64a5fe7ee62d49fb17ac6ef7c9d820385c05e538ed1e5d1"
|
|
56
|
+
},
|
|
57
|
+
"evidence": {
|
|
58
|
+
"sourceTreeDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
59
|
+
"selectorEvidenceDigest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
|
|
60
|
+
"rendererVersion": "archcontext.docs-renderer/v5"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"receiptDigest": "sha256:9f11bf3efe26f8ba7654d036e39316176e8d78b3270b886760e526a83b617e58",
|
|
64
|
+
"targetCount": 7,
|
|
65
|
+
"fileCount": 7,
|
|
66
|
+
"targets": [
|
|
67
|
+
{
|
|
68
|
+
"targetId": "projection_target.architecture.index",
|
|
69
|
+
"type": "architecture-index",
|
|
70
|
+
"scope": {
|
|
71
|
+
"kind": "repository"
|
|
72
|
+
},
|
|
73
|
+
"path": "docs/architecture/index.md",
|
|
74
|
+
"ownership": "mixed",
|
|
75
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
76
|
+
"format": "markdown",
|
|
77
|
+
"sourceDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
78
|
+
"outputDigest": "sha256:64f1a29733be5033316aa99f657bfeb543df2fca99a2ba8b4103be22d46eeb57"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"targetId": "projection_target.entity.capability-example-billing",
|
|
82
|
+
"type": "entity-summary",
|
|
83
|
+
"scope": {
|
|
84
|
+
"kind": "entity",
|
|
85
|
+
"id": "capability.example.billing",
|
|
86
|
+
"entityKind": "capability"
|
|
87
|
+
},
|
|
88
|
+
"path": "docs/architecture/modules/example/billing.md",
|
|
89
|
+
"ownership": "mixed",
|
|
90
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
91
|
+
"format": "markdown",
|
|
92
|
+
"sourceDigest": "sha256:b817894a048392bcfd08bcf0cb2db65be60c93b52adeba3c3858aab88fff2e55",
|
|
93
|
+
"outputDigest": "sha256:2963da98797bba21c3e87b86e60dca3b7c19f75a592723e4c98e0f41b2eb8f58",
|
|
94
|
+
"sourceFootprintDigest": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
|
|
95
|
+
"scale": {
|
|
96
|
+
"fileCountBucket": {
|
|
97
|
+
"lower": 10,
|
|
98
|
+
"upper": 20
|
|
99
|
+
},
|
|
100
|
+
"lineCountBucket": {
|
|
101
|
+
"lower": 500,
|
|
102
|
+
"upper": 1000
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"targetId": "projection_target.decision.index",
|
|
108
|
+
"type": "decision-index",
|
|
109
|
+
"scope": {
|
|
110
|
+
"kind": "decision"
|
|
111
|
+
},
|
|
112
|
+
"path": "docs/architecture/decisions/index.md",
|
|
113
|
+
"ownership": "mixed",
|
|
114
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
115
|
+
"format": "markdown",
|
|
116
|
+
"sourceDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
117
|
+
"outputDigest": "sha256:34055a2aa0fbe868ce5dea7df5354de5da63830e5972ff683d9647f97374ec26"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"targetId": "projection_target.architecture.changelog",
|
|
121
|
+
"type": "architecture-changelog",
|
|
122
|
+
"scope": {
|
|
123
|
+
"kind": "changelog"
|
|
124
|
+
},
|
|
125
|
+
"path": "docs/architecture/changelog.md",
|
|
126
|
+
"ownership": "mixed",
|
|
127
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
128
|
+
"format": "markdown",
|
|
129
|
+
"sourceDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
130
|
+
"outputDigest": "sha256:1f723aeb74466aae7d607eeab8c438a830c36f49a48e6622f868a8151afabea6"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"targetId": "projection_target.diagram.mermaid",
|
|
134
|
+
"type": "diagram-mermaid",
|
|
135
|
+
"scope": {
|
|
136
|
+
"kind": "diagram",
|
|
137
|
+
"id": "architecture"
|
|
138
|
+
},
|
|
139
|
+
"path": "docs/architecture/diagrams/architecture.mmd",
|
|
140
|
+
"ownership": "generated",
|
|
141
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
142
|
+
"format": "mermaid",
|
|
143
|
+
"sourceDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
144
|
+
"outputDigest": "sha256:cab3b5ef19166b5dafbd869ba6060eb52a05f14670db938fa1b13ca4b8bb31bd"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"targetId": "projection_target.diagram.structurizr",
|
|
148
|
+
"type": "diagram-structurizr",
|
|
149
|
+
"scope": {
|
|
150
|
+
"kind": "diagram",
|
|
151
|
+
"id": "architecture"
|
|
152
|
+
},
|
|
153
|
+
"path": "docs/architecture/diagrams/architecture.structurizr.json",
|
|
154
|
+
"ownership": "generated",
|
|
155
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
156
|
+
"format": "structurizr-json",
|
|
157
|
+
"sourceDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
158
|
+
"outputDigest": "sha256:c886230580a87c89ee758db91fc26f6fb2100eb1017cfe0619a3e2332171c42d"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"targetId": "projection_target.diagram.likec4",
|
|
162
|
+
"type": "diagram-likec4",
|
|
163
|
+
"scope": {
|
|
164
|
+
"kind": "diagram",
|
|
165
|
+
"id": "architecture"
|
|
166
|
+
},
|
|
167
|
+
"path": "docs/architecture/diagrams/architecture.likec4",
|
|
168
|
+
"ownership": "generated",
|
|
169
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
170
|
+
"format": "likec4",
|
|
171
|
+
"sourceDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
172
|
+
"outputDigest": "sha256:99c534ffdd668102413d47529127887cba120ef9a3f4c2cd62b40e41ef8757e5"
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"codeGraphDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
|
|
14
14
|
"indexedWorktreeDigest": "sha256:4545454545454545454545454545454545454545454545454545454545454545",
|
|
15
15
|
"projectionInputDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
16
|
-
"rendererVersion": "archcontext.docs-renderer/
|
|
16
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
17
17
|
"layoutVersion": "archcontext.docs-layout/v1",
|
|
18
|
-
"generatedFrom": { "codeGraphPackage": "@colbymchenry/codegraph", "codeGraphVersion": "1.6.1", "
|
|
18
|
+
"generatedFrom": { "codeGraphPackage": "@colbymchenry/codegraph", "codeGraphVersion": "1.6.1", "codeGraphStatus": "ready" }
|
|
19
19
|
},
|
|
20
20
|
"outputSnapshot": {
|
|
21
21
|
"repositoryId": "repo.example",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"codeGraphDigest": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
|
|
29
29
|
"indexedWorktreeDigest": "sha256:9898989898989898989898989898989898989898989898989898989898989898",
|
|
30
30
|
"projectionInputDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
31
|
-
"rendererVersion": "archcontext.docs-renderer/
|
|
31
|
+
"rendererVersion": "archcontext.docs-renderer/v5",
|
|
32
32
|
"layoutVersion": "archcontext.docs-layout/v1",
|
|
33
|
-
"generatedFrom": { "codeGraphPackage": "@colbymchenry/codegraph", "codeGraphVersion": "1.6.1", "
|
|
33
|
+
"generatedFrom": { "codeGraphPackage": "@colbymchenry/codegraph", "codeGraphVersion": "1.6.1", "codeGraphStatus": "ready" }
|
|
34
34
|
},
|
|
35
35
|
"affectedNodeIds": ["capability.api"],
|
|
36
36
|
"files": [
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
],
|
|
44
44
|
"humanActions": [],
|
|
45
45
|
"refreshSignals": [],
|
|
46
|
-
"receiptDigest": "sha256:
|
|
46
|
+
"receiptDigest": "sha256:efd5f90c12bb14cf64bfe2b5f244eac776ec7984dbbdfebc4bc89bc963818843"
|
|
47
47
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.recommendation/v3",
|
|
3
|
+
"recommendationId": "recommendation.c8c842b3d8529388",
|
|
4
|
+
"runId": "recommendation_run.9d3423295f1a45e6",
|
|
5
|
+
"fingerprint": "sha256:27b2fed8524041b6003797081dbf77355d7fccfa54327becf00ecaef0728db2a",
|
|
6
|
+
"subject": "capability.architecture.context",
|
|
7
|
+
"status": "open",
|
|
8
|
+
"confidence": "low",
|
|
9
|
+
"enforcement": "advisory",
|
|
10
|
+
"risk": "medium",
|
|
11
|
+
"uncertainty": "high",
|
|
12
|
+
"evidenceBindingIds": [
|
|
13
|
+
"binding.7577455e29083b0b"
|
|
14
|
+
],
|
|
15
|
+
"explanation": [
|
|
16
|
+
"capability.architecture.context declares no source.include footprint, so none of its files or imports are measured.",
|
|
17
|
+
"It declares no entrypoint paths either."
|
|
18
|
+
],
|
|
19
|
+
"authoredBy": {
|
|
20
|
+
"kind": "daemon",
|
|
21
|
+
"id": "archctxd",
|
|
22
|
+
"source": "daemon"
|
|
23
|
+
},
|
|
24
|
+
"subjectSelectorId": "subject.node.d4eae75fb5b5121f",
|
|
25
|
+
"relations": {},
|
|
26
|
+
"createdAt": "2026-10-11T04:21:31.000Z",
|
|
27
|
+
"updatedAt": "2026-10-11T04:21:31.000Z",
|
|
28
|
+
"category": "structural_observation",
|
|
29
|
+
"payload": {
|
|
30
|
+
"assessmentDigest": "sha256:308510d9a08558453b9644d33fe24a73f4579832c448602b24c5053bdc4aa5ca",
|
|
31
|
+
"kind": "undeclared-footprint",
|
|
32
|
+
"affectedNodeIds": [
|
|
33
|
+
"capability.architecture.context"
|
|
34
|
+
],
|
|
35
|
+
"baselineSnapshotDigest": "sha256:35796bb112cab526dfe31a9ad84bc9df5d28b6a9ef4154d7d3c2d7d3a7753f7e",
|
|
36
|
+
"derivedOutcomes": [
|
|
37
|
+
{
|
|
38
|
+
"metric": "module.footprintDeclared",
|
|
39
|
+
"subjectSelectorId": "subject.node.d4eae75fb5b5121f",
|
|
40
|
+
"nodeId": "capability.architecture.context",
|
|
41
|
+
"operator": "present",
|
|
42
|
+
"value": null,
|
|
43
|
+
"required": true,
|
|
44
|
+
"outcomeId": "outcome.58946c9d4f0f41c1"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"metrics": {},
|
|
48
|
+
"signalIds": [
|
|
49
|
+
"signal.undeclared-footprint.bc66b760c4329111"
|
|
50
|
+
],
|
|
51
|
+
"evidence": {
|
|
52
|
+
"kind": "undeclared-footprint",
|
|
53
|
+
"paths": [],
|
|
54
|
+
"totalCount": 0,
|
|
55
|
+
"truncated": false
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"extensions": {
|
|
59
|
+
"assessmentDigest": "sha256:308510d9a08558453b9644d33fe24a73f4579832c448602b24c5053bdc4aa5ca",
|
|
60
|
+
"baselineSnapshotDigest": "sha256:35796bb112cab526dfe31a9ad84bc9df5d28b6a9ef4154d7d3c2d7d3a7753f7e",
|
|
61
|
+
"riskSignals": [
|
|
62
|
+
"ownership-change"
|
|
63
|
+
],
|
|
64
|
+
"uncertaintySignals": [
|
|
65
|
+
"low-coverage"
|
|
66
|
+
],
|
|
67
|
+
"score": 23
|
|
68
|
+
}
|
|
69
|
+
}
|