archctx-contracts 0.1.5
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/boundary/agent-job-expired.json +33 -0
- package/fixtures/boundary/architecture-event-extension.json +41 -0
- package/fixtures/boundary/architecture-node-extension.json +13 -0
- package/fixtures/boundary/attestation-v2-error.json +43 -0
- package/fixtures/boundary/check-delivery-dead-letter.json +14 -0
- package/fixtures/boundary/evidence-binding-context-only.json +20 -0
- package/fixtures/boundary/practice-disabled-overlay.json +59 -0
- package/fixtures/boundary/recommendation-deferred.json +19 -0
- package/fixtures/boundary/review-challenge-v2-organization.json +15 -0
- package/fixtures/boundary/runner-identity-organization-scope.json +16 -0
- package/fixtures/invalid/adapter-fidelity-reverse-sync.json +9 -0
- package/fixtures/invalid/agent-job-direct-mutation.json +32 -0
- package/fixtures/invalid/architecture-event-source-body-field.json +39 -0
- package/fixtures/invalid/architecture-snapshot-unknown-mode.json +29 -0
- package/fixtures/invalid/attestation-v2-finding-field.json +39 -0
- package/fixtures/invalid/check-delivery-legacy-check-name.json +14 -0
- package/fixtures/invalid/cloud-egress-envelope-private-field.json +12 -0
- package/fixtures/invalid/compatibility-illegal-reason.json +17 -0
- package/fixtures/invalid/evidence-binding-summary-substring-authority.json +17 -0
- package/fixtures/invalid/evidence-item-source-body-field.json +27 -0
- package/fixtures/invalid/explorer-projection-write-field.json +21 -0
- package/fixtures/invalid/investigation-report-direct-mutation.json +38 -0
- package/fixtures/invalid/investigation-report-missing-proposed-delta.json +19 -0
- package/fixtures/invalid/node-unknown-field.json +10 -0
- package/fixtures/invalid/notification-event-code-field.json +11 -0
- package/fixtures/invalid/practice-policy-empty-test-evidence.json +15 -0
- package/fixtures/invalid/practice-policy-negative-recommendation-budget.json +10 -0
- package/fixtures/invalid/practice-unknown-field.json +56 -0
- package/fixtures/invalid/projection-target-invalid-ownership.json +18 -0
- package/fixtures/invalid/recommendation-feedback-implicit-acceptance.json +29 -0
- package/fixtures/invalid/recommendation-run-raw-input-field.json +33 -0
- package/fixtures/invalid/recommendation-source-body-field.json +17 -0
- package/fixtures/invalid/review-challenge-v2-private-field.json +16 -0
- package/fixtures/valid/adapter-fidelity.json +9 -0
- package/fixtures/valid/agent-job.json +33 -0
- package/fixtures/valid/architecture-candidate-delta-policy.json +45 -0
- package/fixtures/valid/architecture-candidate-delta.json +188 -0
- package/fixtures/valid/architecture-event.json +39 -0
- package/fixtures/valid/architecture-intervention.json +36 -0
- package/fixtures/valid/architecture-node.json +25 -0
- package/fixtures/valid/architecture-relation.json +14 -0
- package/fixtures/valid/architecture-snapshot.json +31 -0
- package/fixtures/valid/architecture-subject-selector.json +9 -0
- package/fixtures/valid/attestation-v2.json +38 -0
- package/fixtures/valid/attestation.json +25 -0
- package/fixtures/valid/changeset.json +30 -0
- package/fixtures/valid/chatgpt-ga-tool.json +9 -0
- package/fixtures/valid/check-delivery.json +14 -0
- package/fixtures/valid/cloud-egress-envelope.json +11 -0
- package/fixtures/valid/compatibility-contract.json +19 -0
- package/fixtures/valid/constraint.json +22 -0
- package/fixtures/valid/cross-repo-relation.json +23 -0
- package/fixtures/valid/device-identity.json +10 -0
- package/fixtures/valid/entitlement.json +12 -0
- package/fixtures/valid/evidence-binding.json +17 -0
- package/fixtures/valid/evidence-item.json +29 -0
- package/fixtures/valid/explorer-projection.json +53 -0
- package/fixtures/valid/explorer-service.json +11 -0
- package/fixtures/valid/external-document-resource.json +29 -0
- package/fixtures/valid/governance-key-status.json +11 -0
- package/fixtures/valid/investigation-report.json +38 -0
- package/fixtures/valid/landscape.json +36 -0
- package/fixtures/valid/likec4-mapping.json +14 -0
- package/fixtures/valid/notification-event.json +10 -0
- package/fixtures/valid/notification-provider.json +12 -0
- package/fixtures/valid/org-runner-identity.json +10 -0
- package/fixtures/valid/practice-catalog-manifest.json +16 -0
- package/fixtures/valid/practice-check-result.json +17 -0
- package/fixtures/valid/practice-checkpoint.json +94 -0
- package/fixtures/valid/practice-guidance.json +42 -0
- package/fixtures/valid/practice-match.json +23 -0
- package/fixtures/valid/practice-policy.json +33 -0
- package/fixtures/valid/practice-profile.json +22 -0
- package/fixtures/valid/practice-source.json +19 -0
- package/fixtures/valid/practice-waiver.json +14 -0
- package/fixtures/valid/practice.json +93 -0
- package/fixtures/valid/product-version-manifest.json +51 -0
- package/fixtures/valid/projection-target.json +18 -0
- package/fixtures/valid/recommendation-feedback.json +29 -0
- package/fixtures/valid/recommendation-run.json +33 -0
- package/fixtures/valid/recommendation.json +17 -0
- package/fixtures/valid/retrieval-config.json +20 -0
- package/fixtures/valid/retrieval-decision.json +26 -0
- package/fixtures/valid/retrieval-eval.json +14 -0
- package/fixtures/valid/review-challenge-v2.json +15 -0
- package/fixtures/valid/review-result.json +32 -0
- package/fixtures/valid/runner-identity.json +13 -0
- package/fixtures/valid/structurizr-mapping.json +15 -0
- package/fixtures/valid/task-context.json +23 -0
- package/package.json +17 -0
- package/src/control-plane-routes.ts +35 -0
- package/src/external-docs.ts +137 -0
- package/src/github-governance.ts +850 -0
- package/src/index.ts +9 -0
- package/src/ledger.ts +649 -0
- package/src/ports.ts +385 -0
- package/src/practices.ts +433 -0
- package/src/product-version.ts +108 -0
- package/src/schema.ts +145 -0
- package/src/validator.ts +95 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.attestation/v2",
|
|
3
|
+
"attestationId": "att_20260620_0001",
|
|
4
|
+
"challengeId": "chal_20260620_0001",
|
|
5
|
+
"installationId": 10001,
|
|
6
|
+
"repositoryId": 20002,
|
|
7
|
+
"pullRequestNumber": 42,
|
|
8
|
+
"headSha": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
9
|
+
"baseSha": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
10
|
+
"mergeBaseSha": "cccccccccccccccccccccccccccccccccccccccc",
|
|
11
|
+
"headTreeOid": "tree_aaaaaaaa",
|
|
12
|
+
"worktreeDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
13
|
+
"modelDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
14
|
+
"policyDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
15
|
+
"codeFactsDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
|
|
16
|
+
"reviewDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
|
|
17
|
+
"result": "pass",
|
|
18
|
+
"execution": {
|
|
19
|
+
"trustLevel": "developer",
|
|
20
|
+
"source": "clean-commit-worktree",
|
|
21
|
+
"principalId": "device_0001",
|
|
22
|
+
"publicKeyId": "key_device_0001"
|
|
23
|
+
},
|
|
24
|
+
"runtime": {
|
|
25
|
+
"version": "0.2.0",
|
|
26
|
+
"buildDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
27
|
+
"codeGraphVersion": "1.0.1",
|
|
28
|
+
"capabilitiesDigest": "sha256:6666666666666666666666666666666666666666666666666666666666666666"
|
|
29
|
+
},
|
|
30
|
+
"nonce": "nonce_base64url_0001",
|
|
31
|
+
"startedAt": "2026-06-20T09:03:00Z",
|
|
32
|
+
"completedAt": "2026-06-20T09:04:00Z",
|
|
33
|
+
"expiresAt": "2026-06-20T09:15:00Z",
|
|
34
|
+
"signature": {
|
|
35
|
+
"algorithm": "ed25519",
|
|
36
|
+
"value": "base64url_signature"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.attestation/v1",
|
|
3
|
+
"attestationId": "att_123",
|
|
4
|
+
"challengeId": "challenge_123",
|
|
5
|
+
"repository": {
|
|
6
|
+
"provider": "github",
|
|
7
|
+
"owner": "ancienttwo",
|
|
8
|
+
"name": "arch-context",
|
|
9
|
+
"visibility": "private"
|
|
10
|
+
},
|
|
11
|
+
"headSha": "abc123",
|
|
12
|
+
"worktreeDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
13
|
+
"reviewDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
14
|
+
"device": {
|
|
15
|
+
"deviceId": "device_local",
|
|
16
|
+
"publicKeyId": "pk_local"
|
|
17
|
+
},
|
|
18
|
+
"issuedAt": "2026-06-19T00:00:00Z",
|
|
19
|
+
"expiresAt": "2026-06-19T00:10:00Z",
|
|
20
|
+
"trustLevel": "developer",
|
|
21
|
+
"signature": {
|
|
22
|
+
"alg": "ed25519",
|
|
23
|
+
"value": "base64-test-signature"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.changeset/v1",
|
|
3
|
+
"id": "changeset.01JTEST",
|
|
4
|
+
"status": "proposed",
|
|
5
|
+
"base": {
|
|
6
|
+
"headSha": "abc123",
|
|
7
|
+
"worktreeDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
8
|
+
"modelDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
|
|
9
|
+
},
|
|
10
|
+
"reason": {
|
|
11
|
+
"taskSessionId": "task_123",
|
|
12
|
+
"interventionId": "intervention.subscription-lifecycle-unification"
|
|
13
|
+
},
|
|
14
|
+
"operations": [
|
|
15
|
+
{
|
|
16
|
+
"op": "update_entity_fields",
|
|
17
|
+
"entityId": "module.subscription",
|
|
18
|
+
"expectedHash": "sha256:old",
|
|
19
|
+
"changes": {
|
|
20
|
+
"responsibilities": {
|
|
21
|
+
"add": ["expose-subscription-status"]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"preconditions": ["no-uncommitted-change-under:.archcontext/model", "schema-valid-before"],
|
|
27
|
+
"postconditions": ["schema-valid-after", "no-dangling-reference"],
|
|
28
|
+
"requiresConfirmation": true,
|
|
29
|
+
"idempotencyKey": "cs_test"
|
|
30
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.chatgpt-ga-tool/v1",
|
|
3
|
+
"toolName": "archcontext_prepare_task",
|
|
4
|
+
"surface": "local-runtime",
|
|
5
|
+
"readOnlyByDefault": true,
|
|
6
|
+
"dataClassification": "local-architecture",
|
|
7
|
+
"requiresLocalConfirmationForWrite": false,
|
|
8
|
+
"disclosure": "Private repository content is processed by the local runtime; remote ArchContext MCP exposes metadata only."
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.check-delivery/v1",
|
|
3
|
+
"deliveryId": "delivery_0001",
|
|
4
|
+
"challengeId": "chal_20260620_0001",
|
|
5
|
+
"checkRunId": "check_0001",
|
|
6
|
+
"checkName": "ArchContext / Developer Review",
|
|
7
|
+
"headSha": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
8
|
+
"status": "PENDING",
|
|
9
|
+
"attemptCount": 0,
|
|
10
|
+
"nextAttemptAt": null,
|
|
11
|
+
"lastErrorCode": null,
|
|
12
|
+
"createdAt": "2026-06-20T09:00:00Z",
|
|
13
|
+
"updatedAt": "2026-06-20T09:00:00Z"
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.cloud-egress/v1",
|
|
3
|
+
"requestId": "req_0001",
|
|
4
|
+
"category": "github.pull-head",
|
|
5
|
+
"method": "GET",
|
|
6
|
+
"host": "api.github.com",
|
|
7
|
+
"pathTemplate": "/repos/{owner}/{repo}/pulls/{pull_number}",
|
|
8
|
+
"statusCode": 200,
|
|
9
|
+
"latencyMs": 42,
|
|
10
|
+
"recordedAt": "2026-06-20T09:00:00Z"
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.compatibility/v1",
|
|
3
|
+
"id": "compatibility.subscription-webhook-v1",
|
|
4
|
+
"status": "active",
|
|
5
|
+
"kind": "external-contract",
|
|
6
|
+
"protects": {
|
|
7
|
+
"type": "webhook-payload",
|
|
8
|
+
"id": "interface.subscription-webhook-v1"
|
|
9
|
+
},
|
|
10
|
+
"consumers": ["partner.acme"],
|
|
11
|
+
"legacyPaths": ["src/subscription/webhook-v1.ts"],
|
|
12
|
+
"reason": "External partner migration window is still active.",
|
|
13
|
+
"owner": "module.integration",
|
|
14
|
+
"introducedAt": "2026-06-19T00:00:00Z",
|
|
15
|
+
"reviewAt": "2026-08-01T00:00:00Z",
|
|
16
|
+
"expiresAt": "2026-09-30T00:00:00Z",
|
|
17
|
+
"removalConditions": ["remaining-consumers == 0", "v1-delivery-count-30d == 0"],
|
|
18
|
+
"migrationIssue": "GH-482"
|
|
19
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.constraint/v1",
|
|
3
|
+
"id": "constraint.payment-data-boundary",
|
|
4
|
+
"name": "Payment data boundary",
|
|
5
|
+
"severity": "error",
|
|
6
|
+
"scope": {
|
|
7
|
+
"nodes": ["module.subscription"]
|
|
8
|
+
},
|
|
9
|
+
"rule": {
|
|
10
|
+
"type": "forbid-data-access",
|
|
11
|
+
"target": "datastore.payment",
|
|
12
|
+
"operations": ["reads", "writes"]
|
|
13
|
+
},
|
|
14
|
+
"allowedVia": ["interface.payment-api"],
|
|
15
|
+
"rationale": "Payment data must remain owned by the payment module.",
|
|
16
|
+
"humanExplanation": {
|
|
17
|
+
"title": "订阅模块不能直接读取付款数据库",
|
|
18
|
+
"consequence": "Direct access would couple billing logic to payment storage.",
|
|
19
|
+
"recommendation": "Query payment state through the payment interface."
|
|
20
|
+
},
|
|
21
|
+
"requiresAdrForException": true
|
|
22
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.cross-repo-relation/v1",
|
|
3
|
+
"id": "relation.web-calls-api",
|
|
4
|
+
"kind": "calls",
|
|
5
|
+
"source": {
|
|
6
|
+
"repositoryId": "repo.web",
|
|
7
|
+
"nodeId": "module.checkout-ui"
|
|
8
|
+
},
|
|
9
|
+
"target": {
|
|
10
|
+
"repositoryId": "repo.api",
|
|
11
|
+
"nodeId": "module.billing-api"
|
|
12
|
+
},
|
|
13
|
+
"via": {
|
|
14
|
+
"kind": "interface",
|
|
15
|
+
"id": "interface.billing-http"
|
|
16
|
+
},
|
|
17
|
+
"synchrony": "synchronous",
|
|
18
|
+
"intent": "Checkout UI asks the billing API to create a subscription.",
|
|
19
|
+
"owner": "team.growth",
|
|
20
|
+
"allowedData": ["account-id", "plan-id"],
|
|
21
|
+
"forbiddenData": ["payment-credential"],
|
|
22
|
+
"criticality": "high"
|
|
23
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.device-identity/v1",
|
|
3
|
+
"deviceId": "device_0001",
|
|
4
|
+
"accountId": "acct_0001",
|
|
5
|
+
"publicKeyId": "key_device_0001",
|
|
6
|
+
"publicKeyFingerprint": "sha256:8888888888888888888888888888888888888888888888888888888888888888",
|
|
7
|
+
"status": "active",
|
|
8
|
+
"createdAt": "2026-06-20T09:00:00Z",
|
|
9
|
+
"revokedAt": null
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.entitlement/v1",
|
|
3
|
+
"entitlementId": "ent_acct_42_2026",
|
|
4
|
+
"accountId": "acct_42",
|
|
5
|
+
"plan": "pro",
|
|
6
|
+
"billingInterval": "annual",
|
|
7
|
+
"privateRepositoryScope": "user-all-private-repositories",
|
|
8
|
+
"repositoryNumericIds": [1001, 1002],
|
|
9
|
+
"issuedAt": "2026-06-19T00:00:00Z",
|
|
10
|
+
"validUntil": "2027-06-19T00:00:00Z",
|
|
11
|
+
"offlineUntil": "2026-06-26T00:00:00Z"
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.evidence-binding/v1",
|
|
3
|
+
"bindingId": "binding.evidence.al0.boundary-import",
|
|
4
|
+
"evidenceId": "evidence.al0.boundary-import",
|
|
5
|
+
"target": {
|
|
6
|
+
"kind": "recommendation",
|
|
7
|
+
"id": "rec.al0.boundary-import"
|
|
8
|
+
},
|
|
9
|
+
"bindingReason": "predicate-subject",
|
|
10
|
+
"authorityEffect": "checkpoint-eligible",
|
|
11
|
+
"createdAt": "2026-06-25T00:00:00.000Z",
|
|
12
|
+
"provenance": {
|
|
13
|
+
"producer": "practice-engine",
|
|
14
|
+
"command": "matchPracticesForTask",
|
|
15
|
+
"inputDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.evidence-item/v2",
|
|
3
|
+
"evidenceId": "evidence.al0.boundary-import",
|
|
4
|
+
"kind": "import-edge-added",
|
|
5
|
+
"strength": "observed",
|
|
6
|
+
"polarity": "positive",
|
|
7
|
+
"origin": "codegraph",
|
|
8
|
+
"subject": "relation.module-api-imports-runtime",
|
|
9
|
+
"selector": {
|
|
10
|
+
"kind": "relation",
|
|
11
|
+
"id": "relation.module-api-imports-runtime",
|
|
12
|
+
"path": "packages/core/application/src/index.ts",
|
|
13
|
+
"startLine": 1,
|
|
14
|
+
"endLine": 1
|
|
15
|
+
},
|
|
16
|
+
"summary": "CodeGraph observed an import edge for the changed subject.",
|
|
17
|
+
"coverage": {
|
|
18
|
+
"level": "partial",
|
|
19
|
+
"scope": "changed-paths"
|
|
20
|
+
},
|
|
21
|
+
"supports": ["recommendation", "checkpoint"],
|
|
22
|
+
"provenance": {
|
|
23
|
+
"producer": "codegraph-adapter",
|
|
24
|
+
"command": "codegraph explore",
|
|
25
|
+
"inputDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
|
|
26
|
+
},
|
|
27
|
+
"createdAt": "2026-06-25T00:00:00.000Z",
|
|
28
|
+
"digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
|
|
29
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.explorer-projection/v1",
|
|
3
|
+
"generatedAt": "2026-06-20T00:00:00.000Z",
|
|
4
|
+
"repository": {
|
|
5
|
+
"repositoryId": "repo.local",
|
|
6
|
+
"headSha": "abc123",
|
|
7
|
+
"worktreeDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
8
|
+
"modelDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
|
|
9
|
+
},
|
|
10
|
+
"nodes": [
|
|
11
|
+
{
|
|
12
|
+
"id": "module.runtime-daemon",
|
|
13
|
+
"name": "Runtime Daemon",
|
|
14
|
+
"kind": "module",
|
|
15
|
+
"repositoryId": "repo.local",
|
|
16
|
+
"verificationStatus": "MATCHED",
|
|
17
|
+
"pressure": {
|
|
18
|
+
"level": "low",
|
|
19
|
+
"score": 12,
|
|
20
|
+
"signals": []
|
|
21
|
+
},
|
|
22
|
+
"sourceSelectors": [
|
|
23
|
+
{
|
|
24
|
+
"path": "packages/local-runtime/runtime-daemon/src/index.ts",
|
|
25
|
+
"symbolId": "ArchctxDaemon",
|
|
26
|
+
"startLine": 41,
|
|
27
|
+
"endLine": 300
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"relations": [
|
|
33
|
+
{
|
|
34
|
+
"id": "relation.cli-runtime",
|
|
35
|
+
"source": "module.cli",
|
|
36
|
+
"target": "module.runtime-daemon",
|
|
37
|
+
"kind": "uses",
|
|
38
|
+
"verificationStatus": "MATCHED"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"landscape": {
|
|
42
|
+
"repositories": ["repo.local"]
|
|
43
|
+
},
|
|
44
|
+
"verification": [],
|
|
45
|
+
"pressure": [],
|
|
46
|
+
"interventions": [],
|
|
47
|
+
"capabilities": {
|
|
48
|
+
"readOnly": true,
|
|
49
|
+
"mutationMode": "forbidden",
|
|
50
|
+
"egress": "none",
|
|
51
|
+
"tokenRequired": true
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.external-document/v1",
|
|
3
|
+
"provider": "context7",
|
|
4
|
+
"libraryId": "/facebook/react",
|
|
5
|
+
"requestedVersion": "18.2.0",
|
|
6
|
+
"resolvedVersion": "18.2.0",
|
|
7
|
+
"queryDigest": "sha256:7f46bb5f8c7e1cf8c4e0c5f54d28a236522f5d94801db0f7f3685e821f9db6f8",
|
|
8
|
+
"contentDigest": "sha256:2c2d25a61f3d4f5ed59deffa2ee41db670ac2887f54b02d4f2e3959b287a86d2",
|
|
9
|
+
"retrievedAt": "2026-06-24T00:00:00.000Z",
|
|
10
|
+
"expiresAt": "2026-07-24T00:00:00.000Z",
|
|
11
|
+
"trust": "external-unverified",
|
|
12
|
+
"enforcement": "advisory-only",
|
|
13
|
+
"cacheStatus": "fresh",
|
|
14
|
+
"uri": "archcontext://external-docs/context7/sha256:2c2d25a61f3d4f5ed59deffa2ee41db670ac2887f54b02d4f2e3959b287a86d2",
|
|
15
|
+
"byteCount": 77,
|
|
16
|
+
"snippets": [
|
|
17
|
+
{
|
|
18
|
+
"title": "React hooks",
|
|
19
|
+
"contentPreview": "Hooks are React functions documented by the upstream project. Treat this text as untrusted documentation data.",
|
|
20
|
+
"contentDigest": "sha256:2c2d25a61f3d4f5ed59deffa2ee41db670ac2887f54b02d4f2e3959b287a86d2",
|
|
21
|
+
"sourceUri": "https://react.dev/reference/react",
|
|
22
|
+
"byteCount": 77
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"warning": "untrusted-documentation-data",
|
|
26
|
+
"metadata": {
|
|
27
|
+
"source": "fixture"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.governance-key-status/v1",
|
|
3
|
+
"publicKeyId": "key_runner_0001",
|
|
4
|
+
"ownerKind": "runner",
|
|
5
|
+
"ownerId": "runner_0001",
|
|
6
|
+
"fingerprint": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
|
|
7
|
+
"status": "active",
|
|
8
|
+
"createdAt": "2026-06-20T09:00:00Z",
|
|
9
|
+
"rotatedAt": null,
|
|
10
|
+
"revokedAt": null
|
|
11
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.investigation-report/v1",
|
|
3
|
+
"reportId": "investigation_report.al0_investigate",
|
|
4
|
+
"jobId": "agent_job.al0_investigate",
|
|
5
|
+
"status": "succeeded",
|
|
6
|
+
"findings": [
|
|
7
|
+
{
|
|
8
|
+
"findingId": "finding.boundary-import",
|
|
9
|
+
"hypothesis": "The changed import may cross a declared architecture boundary.",
|
|
10
|
+
"evidenceBindingIds": ["binding.evidence.al0.boundary-import"],
|
|
11
|
+
"unknowns": ["Whether the target module is inside the same declared layer."],
|
|
12
|
+
"falsifier": "A declared relation allowing this dependency exists at the same HEAD.",
|
|
13
|
+
"proposedDelta": {
|
|
14
|
+
"candidateChangeId": "candidate_change.al0.boundary-import",
|
|
15
|
+
"kind": "node-materially-changed",
|
|
16
|
+
"target": {
|
|
17
|
+
"kind": "node",
|
|
18
|
+
"id": "module.checkout"
|
|
19
|
+
},
|
|
20
|
+
"stateDimension": "target-state",
|
|
21
|
+
"changeKind": "materially_changed",
|
|
22
|
+
"subjectSelectorIds": ["subject.path.src-checkout-service"],
|
|
23
|
+
"mappingIds": ["mapping.checkout-service"],
|
|
24
|
+
"ambiguityIds": [],
|
|
25
|
+
"evidenceIds": ["evidence.al0.boundary-import"],
|
|
26
|
+
"confidence": "medium",
|
|
27
|
+
"heuristic": true,
|
|
28
|
+
"summary": "The checkout module may be materially changed by the observed boundary import.",
|
|
29
|
+
"digest": "sha256:1515151515151515151515151515151515151515151515151515151515151515"
|
|
30
|
+
},
|
|
31
|
+
"proposedDeltaDigest": "sha256:1515151515151515151515151515151515151515151515151515151515151515",
|
|
32
|
+
"confidence": "medium"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"outputDigest": "sha256:1616161616161616161616161616161616161616161616161616161616161616",
|
|
36
|
+
"createdAt": "2026-06-25T00:00:00.000Z",
|
|
37
|
+
"directMutationAllowed": false
|
|
38
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.landscape/v1",
|
|
3
|
+
"id": "landscape.archcontext-product",
|
|
4
|
+
"name": "ArchContext Product",
|
|
5
|
+
"repositories": [
|
|
6
|
+
{
|
|
7
|
+
"repositoryId": "repo.web",
|
|
8
|
+
"numericRepositoryId": 1001,
|
|
9
|
+
"name": "archcontext-web",
|
|
10
|
+
"role": "frontend",
|
|
11
|
+
"owner": "team.growth",
|
|
12
|
+
"defaultBranch": "main"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"repositoryId": "repo.api",
|
|
16
|
+
"numericRepositoryId": 1002,
|
|
17
|
+
"name": "archcontext-api",
|
|
18
|
+
"role": "runtime",
|
|
19
|
+
"owner": "team.platform",
|
|
20
|
+
"defaultBranch": "main"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"relations": ["relation.web-calls-api"],
|
|
24
|
+
"ownership": {
|
|
25
|
+
"team.growth": ["repo.web"],
|
|
26
|
+
"team.platform": ["repo.api"]
|
|
27
|
+
},
|
|
28
|
+
"scope": {
|
|
29
|
+
"defaultActiveRepositories": ["repo.web"],
|
|
30
|
+
"maxActiveRepositories": 3
|
|
31
|
+
},
|
|
32
|
+
"syncPolicy": {
|
|
33
|
+
"mode": "git-worktree-only",
|
|
34
|
+
"archcontextSyncService": "forbidden"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.likec4-mapping/v1",
|
|
3
|
+
"id": "mapping.likec4.native",
|
|
4
|
+
"exportMode": "export-first",
|
|
5
|
+
"native": {
|
|
6
|
+
"nodeKinds": ["capability", "module", "component", "interface", "datastore", "external-system"],
|
|
7
|
+
"relationKinds": ["depends-on", "calls", "publishes", "subscribes", "reads", "writes"]
|
|
8
|
+
},
|
|
9
|
+
"likec4": {
|
|
10
|
+
"elementKinds": ["person", "system", "container", "component"],
|
|
11
|
+
"relationLabels": ["depends-on", "calls", "publishes", "subscribes", "reads", "writes"]
|
|
12
|
+
},
|
|
13
|
+
"views": ["landscape", "module"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.notification-event/v1",
|
|
3
|
+
"eventId": "notification.review-complete",
|
|
4
|
+
"prUrl": "https://github.com/ancienttwo/arch-context/pull/12",
|
|
5
|
+
"result": "pass_with_warnings",
|
|
6
|
+
"riskLevel": "medium",
|
|
7
|
+
"commitSha": "abc1234",
|
|
8
|
+
"runtimeVersion": "archctx/1.1.0",
|
|
9
|
+
"occurredAt": "2026-06-19T00:00:00Z"
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.notification-provider/v1",
|
|
3
|
+
"id": "notification-provider.slack-review",
|
|
4
|
+
"provider": "slack",
|
|
5
|
+
"enabled": true,
|
|
6
|
+
"target": "https://hooks.slack.com/services/example",
|
|
7
|
+
"secretRef": "secret://slack-review-webhook",
|
|
8
|
+
"retry": {
|
|
9
|
+
"maxAttempts": 3,
|
|
10
|
+
"backoffSeconds": 30
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.org-runner-identity/v1",
|
|
3
|
+
"runnerId": "runner_acme_prod_1",
|
|
4
|
+
"installationId": 12345,
|
|
5
|
+
"repositoryNumericIds": [1001, 1002],
|
|
6
|
+
"publicKeyId": "org_pk_1",
|
|
7
|
+
"publicKeyFingerprint": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
|
|
8
|
+
"status": "active",
|
|
9
|
+
"createdAt": "2026-06-19T00:00:00Z"
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.practice-catalog-manifest/v1",
|
|
3
|
+
"catalogVersion": "2026.06.0",
|
|
4
|
+
"productVersion": "0.1.5",
|
|
5
|
+
"generatedAt": "2026-06-23T00:00:00Z",
|
|
6
|
+
"entries": [
|
|
7
|
+
{
|
|
8
|
+
"id": "compatibility.single-owner",
|
|
9
|
+
"revision": 1,
|
|
10
|
+
"digest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
11
|
+
"sourceIds": ["archcontext.adr.0010"]
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"sourceIds": ["archcontext.adr.0010"],
|
|
15
|
+
"catalogDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.practice-check-result/v1",
|
|
3
|
+
"practiceId": "modularity.no-new-cycle",
|
|
4
|
+
"checkId": "no-new-cycle",
|
|
5
|
+
"assetDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
6
|
+
"enforcement": "complete",
|
|
7
|
+
"status": "fail",
|
|
8
|
+
"reasonCode": "violation",
|
|
9
|
+
"deterministic": true,
|
|
10
|
+
"subjects": ["module.a->module.b"],
|
|
11
|
+
"subjectDigests": ["sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"],
|
|
12
|
+
"message": "Complete would introduce a new import cycle.",
|
|
13
|
+
"remediation": {
|
|
14
|
+
"action": "remove-new-import-cycle-or-add-a-more-specific-boundary",
|
|
15
|
+
"paths": []
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "archcontext.practice-checkpoint/v1",
|
|
3
|
+
"taskSessionId": "task_cli",
|
|
4
|
+
"event": "post-edit",
|
|
5
|
+
"headSha": "abc123",
|
|
6
|
+
"expectedHeadSha": "abc123",
|
|
7
|
+
"worktreeDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
8
|
+
"expectedWorktreeDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
9
|
+
"fresh": true,
|
|
10
|
+
"reasonCode": "no-op",
|
|
11
|
+
"staleReasons": [],
|
|
12
|
+
"changedPaths": ["src/billing/adapter.ts"],
|
|
13
|
+
"toolCallId": "toolu_123",
|
|
14
|
+
"catalogDigest": "sha256:235dc7f02375c408a1b1497d0d5bca444abde26519875e2d396f770ae5d3b892",
|
|
15
|
+
"previousCatalogDigest": "sha256:235dc7f02375c408a1b1497d0d5bca444abde26519875e2d396f770ae5d3b892",
|
|
16
|
+
"contextDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
17
|
+
"previousContextDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
18
|
+
"practiceGuidanceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
|
|
19
|
+
"previousPracticeGuidanceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
|
|
20
|
+
"delta": {
|
|
21
|
+
"schemaVersion": "archcontext.practice-delta/v1",
|
|
22
|
+
"added": [],
|
|
23
|
+
"removed": [],
|
|
24
|
+
"upgraded": [],
|
|
25
|
+
"downgraded": [],
|
|
26
|
+
"unchanged": [
|
|
27
|
+
{
|
|
28
|
+
"schemaVersion": "archcontext.practice-match/v1",
|
|
29
|
+
"practiceId": "compatibility.single-owner",
|
|
30
|
+
"assetRevision": 1,
|
|
31
|
+
"assetDigest": "sha256:52c1f1ed2128f56e0a3e4f07303efa34bda507da54bd0e7914d7cf17f6f27843",
|
|
32
|
+
"title": "Compatibility paths require one lifecycle owner",
|
|
33
|
+
"category": "compatibility",
|
|
34
|
+
"score": 87,
|
|
35
|
+
"confidence": "high",
|
|
36
|
+
"enforcement": "checkpoint",
|
|
37
|
+
"matchedBy": ["predicate", "retrieval", "scope", "signal"],
|
|
38
|
+
"evidence": [],
|
|
39
|
+
"explanation": ["compatibility.single-owner: A compatibility path must have one accountable owner."],
|
|
40
|
+
"sourceTrust": "curated-static"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"requiresProof": []
|
|
44
|
+
},
|
|
45
|
+
"noOpDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
|
|
46
|
+
"resultDigest": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
47
|
+
"hook": {
|
|
48
|
+
"egress": "none",
|
|
49
|
+
"failOpen": true,
|
|
50
|
+
"pathCount": 1,
|
|
51
|
+
"network": "forbidden",
|
|
52
|
+
"pathSummary": {
|
|
53
|
+
"schemaVersion": "archcontext.checkpoint-path-summary/v1",
|
|
54
|
+
"total": 1,
|
|
55
|
+
"source": 1,
|
|
56
|
+
"generated": 0,
|
|
57
|
+
"ignored": 0,
|
|
58
|
+
"binary": 0,
|
|
59
|
+
"deleted": 0,
|
|
60
|
+
"renameHints": 0
|
|
61
|
+
},
|
|
62
|
+
"coalesced": false,
|
|
63
|
+
"skippedAnalysis": false,
|
|
64
|
+
"coalescedEventCount": 1,
|
|
65
|
+
"coalesceKey": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
|
|
66
|
+
"elapsedMs": 12
|
|
67
|
+
},
|
|
68
|
+
"nextSnapshot": {
|
|
69
|
+
"schemaVersion": "archcontext.practice-checkpoint-snapshot/v1",
|
|
70
|
+
"task": "remove legacy v1 wrapper",
|
|
71
|
+
"headSha": "abc123",
|
|
72
|
+
"worktreeDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
73
|
+
"contextDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
74
|
+
"practiceGuidanceDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
|
|
75
|
+
"catalogDigest": "sha256:235dc7f02375c408a1b1497d0d5bca444abde26519875e2d396f770ae5d3b892",
|
|
76
|
+
"matches": [
|
|
77
|
+
{
|
|
78
|
+
"schemaVersion": "archcontext.practice-match/v1",
|
|
79
|
+
"practiceId": "compatibility.single-owner",
|
|
80
|
+
"assetRevision": 1,
|
|
81
|
+
"assetDigest": "sha256:52c1f1ed2128f56e0a3e4f07303efa34bda507da54bd0e7914d7cf17f6f27843",
|
|
82
|
+
"title": "Compatibility paths require one lifecycle owner",
|
|
83
|
+
"category": "compatibility",
|
|
84
|
+
"score": 87,
|
|
85
|
+
"confidence": "high",
|
|
86
|
+
"enforcement": "checkpoint",
|
|
87
|
+
"matchedBy": ["predicate", "retrieval", "scope", "signal"],
|
|
88
|
+
"evidence": [],
|
|
89
|
+
"explanation": ["compatibility.single-owner: A compatibility path must have one accountable owner."],
|
|
90
|
+
"sourceTrust": "curated-static"
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
}
|