owlrunkit 0.20.0 → 0.22.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 (50) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +102 -10
  3. package/docs/architecture/OWLCODA_RUNKIT_0201_RELEASE_TRUTH_AND_PROFILE_NORMALIZATION_PATCH_DECISION_20260813.md +95 -0
  4. package/docs/architecture/OWLCODA_RUNKIT_021_TEAM_DELIVERY_PHASE2_PRODUCT_DECISION_20260813.md +249 -0
  5. package/integrations/codex/skills/owlcoda-runkit/SKILL.md +117 -12
  6. package/integrations/codex/skills/owlcoda-runkit/assets/templates/config.json +3 -3
  7. package/package.json +1 -1
  8. package/packages/attest/README.md +7 -1
  9. package/packages/attest/consumer-surface-v3.json +275 -0
  10. package/packages/attest/distribution-manifest-v1.json +24 -0
  11. package/packages/attest/schemas/canonical-candidate-identity-v1.schema.json +112 -0
  12. package/packages/attest/schemas/foreign-workspace-filesystem-identity-v1.schema.json +32 -0
  13. package/packages/attest/schemas/quick-verification-receipt-v4.schema.json +226 -0
  14. package/packages/attest/src/candidate-identity.mjs +454 -0
  15. package/packages/attest/src/index.mjs +11 -0
  16. package/packages/attest/src/quick-receipt-contract.mjs +126 -5
  17. package/packages/attest/src/quick.mjs +53 -8
  18. package/{registry-release-policy-v1.json → registry-release-policy-v2.json} +8 -9
  19. package/sbom.spdx.json +4 -4
  20. package/scripts/runkit-contract/core-contract.mjs +19 -1
  21. package/scripts/runkit-contract/fleet-skill-plan.mjs +223 -0
  22. package/scripts/runkit-contract/formal-workflow.mjs +3 -1
  23. package/scripts/runkit-contract/hook-recovery.mjs +496 -0
  24. package/scripts/runkit-contract/inspect-presentation.mjs +187 -0
  25. package/scripts/runkit-contract/install-codex-skill.mjs +1 -0
  26. package/scripts/runkit-contract/onboarding-bootstrap.mjs +15 -0
  27. package/scripts/runkit-contract/onboarding-doctor.mjs +378 -9
  28. package/scripts/runkit-contract/profile-onboarding.mjs +6 -0
  29. package/scripts/runkit-contract/project-cli-resolver.mjs +17 -1
  30. package/scripts/runkit-contract/quick-metrics.mjs +9 -5
  31. package/scripts/runkit-contract/quick-verify.mjs +108 -24
  32. package/scripts/runkit-contract/registry-adoption-gate.mjs +12 -3
  33. package/scripts/runkit-contract/registry-adoption.mjs +10 -5
  34. package/scripts/runkit-contract/runkit-bootstrap.mjs +1 -0
  35. package/scripts/runkit-contract/runkit-cli.mjs +332 -30
  36. package/scripts/runkit-contract/schemas/delivery-lifecycle-v1.schema.json +91 -0
  37. package/scripts/runkit-contract/schemas/external-gate-v1.schema.json +68 -0
  38. package/scripts/runkit-contract/schemas/fleet-skill-upgrade-plan-v1.schema.json +140 -0
  39. package/scripts/runkit-contract/schemas/hook-recovery-v1.schema.json +592 -0
  40. package/scripts/runkit-contract/schemas/inspect-compact-v1.schema.json +93 -0
  41. package/scripts/runkit-contract/schemas/inspect-compact-v2.schema.json +122 -0
  42. package/scripts/runkit-contract/schemas/team-delivery-status-v2.schema.json +219 -0
  43. package/scripts/runkit-contract/schemas/team-delivery-status-v3.schema.json +113 -0
  44. package/scripts/runkit-contract/schemas/team-project-event-v6.schema.json +82 -0
  45. package/scripts/runkit-contract/schemas/team-project-event-v7.schema.json +80 -0
  46. package/scripts/runkit-contract/schemas/team-project-status-v4.schema.json +208 -0
  47. package/scripts/runkit-contract/schemas/team-recommendation-v2.schema.json +120 -0
  48. package/scripts/runkit-contract/sync-release-identity.mjs +87 -0
  49. package/scripts/runkit-contract/team-delivery.mjs +203 -3
  50. package/scripts/runkit-contract/team-project.mjs +1032 -11
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.com/schemas/runkit/delivery-lifecycle-v1.schema.json",
4
+ "title": "OwlCoda RunKit Delivery Lifecycle V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion", "lifecycleStatus", "currentStage", "nextRequiredStage",
9
+ "blockingStage", "blockingExternalGateIds", "stages", "authorizationGranted"
10
+ ],
11
+ "properties": {
12
+ "schemaVersion": { "const": "OwlCodaRunKitDeliveryLifecycleV1" },
13
+ "lifecycleStatus": { "enum": ["in_progress", "blocked", "completed"] },
14
+ "currentStage": {
15
+ "enum": [
16
+ "work_ledger_incomplete", "work_ledger_complete", "source_accepted",
17
+ "integrated", "materialized", "deployed", "live_readback_passed", "product_accepted"
18
+ ]
19
+ },
20
+ "nextRequiredStage": { "oneOf": [{ "type": "null" }, { "$ref": "#/$defs/stageName" }] },
21
+ "blockingStage": { "oneOf": [{ "type": "null" }, { "$ref": "#/$defs/stageName" }] },
22
+ "blockingExternalGateIds": { "$ref": "#/$defs/strings" },
23
+ "stages": {
24
+ "type": "array",
25
+ "minItems": 6,
26
+ "maxItems": 6,
27
+ "prefixItems": [
28
+ { "$ref": "#/$defs/sourceStage" },
29
+ { "$ref": "#/$defs/integrationStage" },
30
+ { "$ref": "#/$defs/materializationStage" },
31
+ { "$ref": "#/$defs/deploymentStage" },
32
+ { "$ref": "#/$defs/liveReadbackStage" },
33
+ { "$ref": "#/$defs/productAcceptanceStage" }
34
+ ],
35
+ "items": false
36
+ },
37
+ "authorizationGranted": { "const": false }
38
+ },
39
+ "allOf": [
40
+ { "if": { "properties": { "currentStage": { "const": "product_accepted" } }, "required": ["currentStage"] }, "then": { "properties": { "lifecycleStatus": { "const": "completed" }, "nextRequiredStage": { "type": "null" }, "blockingStage": { "type": "null" }, "blockingExternalGateIds": { "maxItems": 0 } } } }
41
+ ],
42
+ "examples": [
43
+ {
44
+ "schemaVersion": "OwlCodaRunKitDeliveryLifecycleV1",
45
+ "lifecycleStatus": "in_progress",
46
+ "currentStage": "work_ledger_complete",
47
+ "nextRequiredStage": "source",
48
+ "blockingStage": null,
49
+ "blockingExternalGateIds": [],
50
+ "stages": [
51
+ { "stage": "source", "status": "pending", "recordId": null, "ownerAgentId": null, "summary": null, "evidenceRefs": [], "externalGateIds": [], "occurredAt": null, "truthRef": null },
52
+ { "stage": "integration", "status": "pending", "recordId": null, "ownerAgentId": null, "summary": null, "evidenceRefs": [], "externalGateIds": [], "occurredAt": null, "truthRef": null },
53
+ { "stage": "materialization", "status": "pending", "recordId": null, "ownerAgentId": null, "summary": null, "evidenceRefs": [], "externalGateIds": [], "occurredAt": null, "truthRef": null },
54
+ { "stage": "deployment", "status": "pending", "recordId": null, "ownerAgentId": null, "summary": null, "evidenceRefs": [], "externalGateIds": [], "occurredAt": null, "truthRef": null },
55
+ { "stage": "live_readback", "status": "pending", "recordId": null, "ownerAgentId": null, "summary": null, "evidenceRefs": [], "externalGateIds": [], "occurredAt": null, "truthRef": null },
56
+ { "stage": "product_acceptance", "status": "pending", "recordId": null, "ownerAgentId": null, "summary": null, "evidenceRefs": [], "externalGateIds": [], "occurredAt": null, "truthRef": null }
57
+ ],
58
+ "authorizationGranted": false
59
+ }
60
+ ],
61
+ "$defs": {
62
+ "text": { "type": "string", "minLength": 1 },
63
+ "nullableText": { "oneOf": [{ "type": "null" }, { "$ref": "#/$defs/text" }] },
64
+ "timestamp": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$" },
65
+ "nullableTimestamp": { "oneOf": [{ "type": "null" }, { "$ref": "#/$defs/timestamp" }] },
66
+ "stageName": { "enum": ["source", "integration", "materialization", "deployment", "live_readback", "product_acceptance"] },
67
+ "strings": { "type": "array", "uniqueItems": true, "items": { "$ref": "#/$defs/text" } },
68
+ "stageBase": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": ["stage", "status", "recordId", "ownerAgentId", "summary", "evidenceRefs", "externalGateIds", "occurredAt", "truthRef"],
72
+ "properties": {
73
+ "stage": { "$ref": "#/$defs/stageName" },
74
+ "status": { "type": "string", "minLength": 1 },
75
+ "recordId": { "$ref": "#/$defs/nullableText" },
76
+ "ownerAgentId": { "$ref": "#/$defs/nullableText" },
77
+ "summary": { "$ref": "#/$defs/nullableText" },
78
+ "evidenceRefs": { "$ref": "#/$defs/strings" },
79
+ "externalGateIds": { "$ref": "#/$defs/strings" },
80
+ "occurredAt": { "$ref": "#/$defs/nullableTimestamp" },
81
+ "truthRef": { "$ref": "#/$defs/nullableText" }
82
+ }
83
+ },
84
+ "sourceStage": { "allOf": [{ "$ref": "#/$defs/stageBase" }, { "properties": { "stage": { "const": "source" }, "status": { "enum": ["pending", "accepted", "rejected"] } } }] },
85
+ "integrationStage": { "allOf": [{ "$ref": "#/$defs/stageBase" }, { "properties": { "stage": { "const": "integration" }, "status": { "enum": ["pending", "integrated", "rejected"] } } }] },
86
+ "materializationStage": { "allOf": [{ "$ref": "#/$defs/stageBase" }, { "properties": { "stage": { "const": "materialization" }, "status": { "enum": ["pending", "materialized", "failed"] } } }] },
87
+ "deploymentStage": { "allOf": [{ "$ref": "#/$defs/stageBase" }, { "properties": { "stage": { "const": "deployment" }, "status": { "enum": ["pending", "deployed", "failed", "rolled_back"] } } }] },
88
+ "liveReadbackStage": { "allOf": [{ "$ref": "#/$defs/stageBase" }, { "properties": { "stage": { "const": "live_readback" }, "status": { "enum": ["pending", "passed", "failed"] } } }] },
89
+ "productAcceptanceStage": { "allOf": [{ "$ref": "#/$defs/stageBase" }, { "properties": { "stage": { "const": "product_acceptance" }, "status": { "enum": ["pending", "accepted", "rejected", "deferred"] } } }] }
90
+ }
91
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.com/schemas/runkit/external-gate-v1.schema.json",
4
+ "title": "OwlCoda RunKit External Gate V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion", "gateId", "title", "requiredFor", "gateStatus",
9
+ "blocking", "ownerAgentId", "source", "summary", "evidenceRefs",
10
+ "occurredAt", "truthRefs", "authorizationGranted"
11
+ ],
12
+ "properties": {
13
+ "schemaVersion": { "const": "OwlCodaRunKitExternalGateV1" },
14
+ "gateId": { "$ref": "#/$defs/id" },
15
+ "title": { "$ref": "#/$defs/text" },
16
+ "requiredFor": { "$ref": "#/$defs/stage" },
17
+ "gateStatus": { "enum": ["pending", "passed", "blocked", "deferred"] },
18
+ "blocking": { "type": "boolean" },
19
+ "ownerAgentId": { "$ref": "#/$defs/id" },
20
+ "source": {
21
+ "type": "object",
22
+ "additionalProperties": false,
23
+ "required": ["adapterId", "ref", "sha256"],
24
+ "properties": {
25
+ "adapterId": { "$ref": "#/$defs/id" },
26
+ "ref": { "$ref": "#/$defs/text" },
27
+ "sha256": { "$ref": "#/$defs/sha256" }
28
+ }
29
+ },
30
+ "summary": { "$ref": "#/$defs/text" },
31
+ "evidenceRefs": { "$ref": "#/$defs/nonemptyStrings" },
32
+ "occurredAt": { "$ref": "#/$defs/timestamp" },
33
+ "truthRefs": { "$ref": "#/$defs/nonemptyStrings" },
34
+ "authorizationGranted": { "const": false }
35
+ },
36
+ "allOf": [
37
+ { "if": { "properties": { "gateStatus": { "const": "passed" } }, "required": ["gateStatus"] }, "then": { "properties": { "blocking": { "const": false } } }, "else": { "properties": { "blocking": { "const": true } } } }
38
+ ],
39
+ "examples": [
40
+ {
41
+ "schemaVersion": "OwlCodaRunKitExternalGateV1",
42
+ "gateId": "packaging-l1",
43
+ "title": "Packaging cross-family L1",
44
+ "requiredFor": "source",
45
+ "gateStatus": "pending",
46
+ "blocking": true,
47
+ "ownerAgentId": "reviewer",
48
+ "source": {
49
+ "adapterId": "product-contract-v1",
50
+ "ref": "docs/PRODUCT_CONTRACT.md",
51
+ "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
52
+ },
53
+ "summary": "External acceptance remains pending.",
54
+ "evidenceRefs": ["artifact:product-contract"],
55
+ "occurredAt": "2026-08-13T00:03:00.000Z",
56
+ "truthRefs": ["project/events/external-gate-packaging-pending.json"],
57
+ "authorizationGranted": false
58
+ }
59
+ ],
60
+ "$defs": {
61
+ "id": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$" },
62
+ "text": { "type": "string", "minLength": 1 },
63
+ "timestamp": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$" },
64
+ "sha256": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
65
+ "stage": { "enum": ["source", "integration", "materialization", "deployment", "live_readback", "product_acceptance"] },
66
+ "nonemptyStrings": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "$ref": "#/$defs/text" } }
67
+ }
68
+ }
@@ -0,0 +1,140 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.dev/schemas/runkit/fleet-skill-upgrade-plan-v1.schema.json",
4
+ "title": "OwlCoda RunKit Fleet Skill Upgrade Plan V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "status", "expectedCore", "sharedSkill", "discovery", "affectedProjects", "blockers", "commands", "authorizationGranted"],
8
+ "properties": {
9
+ "schemaVersion": { "const": "OwlCodaRunKitFleetSkillUpgradePlanV1" },
10
+ "status": { "enum": ["ready", "blocked"] },
11
+ "expectedCore": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "required": ["contractVersion", "coreVersion", "coreManifestSha256", "coreSourceRef"],
15
+ "properties": {
16
+ "contractVersion": { "const": "0.2" },
17
+ "coreVersion": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" },
18
+ "coreManifestSha256": { "$ref": "#/$defs/sha256" },
19
+ "coreSourceRef": { "type": "string", "pattern": "^artifact:sha256:[a-f0-9]{64}$" }
20
+ }
21
+ },
22
+ "sharedSkill": {
23
+ "type": "object",
24
+ "additionalProperties": false,
25
+ "required": ["targetRoot", "status", "installedSkillVersion", "installedConfigCoreVersion", "issues"],
26
+ "properties": {
27
+ "targetRoot": { "type": "string", "minLength": 1 },
28
+ "status": { "enum": ["missing", "unmanaged", "drifted", "version_mismatch", "valid"] },
29
+ "installedSkillVersion": { "type": ["string", "null"] },
30
+ "installedConfigCoreVersion": { "type": ["string", "null"] },
31
+ "issues": { "$ref": "#/$defs/strings" }
32
+ }
33
+ },
34
+ "discovery": {
35
+ "oneOf": [
36
+ { "type": "null" },
37
+ {
38
+ "type": "object",
39
+ "additionalProperties": false,
40
+ "required": ["source", "complete", "workspaceCount", "unreachableRoots"],
41
+ "properties": {
42
+ "source": { "type": "string", "minLength": 1 },
43
+ "complete": { "type": "boolean" },
44
+ "workspaceCount": { "type": "integer", "minimum": 0 },
45
+ "unreachableRoots": { "$ref": "#/$defs/strings" }
46
+ }
47
+ }
48
+ ]
49
+ },
50
+ "affectedProjects": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": ["workspaceRoot", "configPath", "configCoreVersion", "activeRunIds", "activeLeaseIds", "upgradeSafe"],
56
+ "properties": {
57
+ "workspaceRoot": { "type": "string", "minLength": 1 },
58
+ "configPath": { "type": "string", "minLength": 1 },
59
+ "configCoreVersion": { "type": ["string", "null"] },
60
+ "activeRunIds": { "$ref": "#/$defs/strings" },
61
+ "activeLeaseIds": { "$ref": "#/$defs/strings" },
62
+ "upgradeSafe": { "type": "boolean" }
63
+ }
64
+ }
65
+ },
66
+ "blockers": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "object",
70
+ "required": ["code"],
71
+ "properties": {
72
+ "code": { "type": "string", "minLength": 1 },
73
+ "workspaceRoot": { "type": "string", "minLength": 1 },
74
+ "artifactId": { "type": "string", "minLength": 1 },
75
+ "detail": { "type": "string", "minLength": 1 }
76
+ },
77
+ "additionalProperties": false
78
+ }
79
+ },
80
+ "commands": {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": ["dryRun", "install", "rollback"],
84
+ "properties": {
85
+ "dryRun": { "type": "string", "minLength": 1 },
86
+ "install": { "type": "string", "minLength": 1 },
87
+ "rollback": { "type": "string", "minLength": 1 }
88
+ }
89
+ },
90
+ "authorizationGranted": { "const": false }
91
+ },
92
+ "allOf": [
93
+ {
94
+ "if": { "properties": { "status": { "const": "ready" } }, "required": ["status"] },
95
+ "then": { "properties": { "blockers": { "maxItems": 0 } } },
96
+ "else": { "properties": { "blockers": { "minItems": 1 } } }
97
+ }
98
+ ],
99
+ "examples": [
100
+ {
101
+ "schemaVersion": "OwlCodaRunKitFleetSkillUpgradePlanV1",
102
+ "status": "blocked",
103
+ "expectedCore": {
104
+ "contractVersion": "0.2",
105
+ "coreVersion": "0.22.0",
106
+ "coreManifestSha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
107
+ "coreSourceRef": "artifact:sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
108
+ },
109
+ "sharedSkill": {
110
+ "targetRoot": "/opt/codex/skills/owlcoda-runkit",
111
+ "status": "version_mismatch",
112
+ "installedSkillVersion": "0.20.0",
113
+ "installedConfigCoreVersion": "0.20.0",
114
+ "issues": ["installed_skill_core_version_mismatch"]
115
+ },
116
+ "discovery": { "source": "fleet_registry", "complete": true, "workspaceCount": 1, "unreachableRoots": [] },
117
+ "affectedProjects": [
118
+ {
119
+ "workspaceRoot": "/projects/example",
120
+ "configPath": "/projects/example/.owlcoda/runkit/config.json",
121
+ "configCoreVersion": "0.20.0",
122
+ "activeRunIds": ["active-run"],
123
+ "activeLeaseIds": [],
124
+ "upgradeSafe": false
125
+ }
126
+ ],
127
+ "blockers": [{ "code": "active_execution", "workspaceRoot": "/projects/example", "artifactId": "active-run" }],
128
+ "commands": {
129
+ "dryRun": "npx --no-install owlrunkit fleet skill-plan ...",
130
+ "install": "node install-codex-skill.mjs install ...",
131
+ "rollback": "node install-codex-skill.mjs restore ..."
132
+ },
133
+ "authorizationGranted": false
134
+ }
135
+ ],
136
+ "$defs": {
137
+ "sha256": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
138
+ "strings": { "type": "array", "uniqueItems": true, "items": { "type": "string", "minLength": 1 } }
139
+ }
140
+ }