@agent-teams/docs-protocol-agent-teams 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +27 -2
  3. package/assets/catalog.json +1 -1
  4. package/assets/history/sha256-8711dbd6109740857c69462d218071818317a62949f08ecf8abdc6d6b736321f/caller.yml +14 -0
  5. package/assets/history/sha256-f8da49344c3b0e9f31235de2826b1b9b392afb84515ace6af4fb5fe580e3a714/caller.yml +14 -0
  6. package/assets/transition-catalog.json +1 -1
  7. package/dist/composition/qualification-cli.d.ts.map +1 -1
  8. package/dist/composition/qualification-cli.js +19 -3
  9. package/dist/composition/qualification-cli.js.map +1 -1
  10. package/dist/consumer-integration/adapters/cohort-v2-authority-validator.d.ts +5 -0
  11. package/dist/consumer-integration/adapters/cohort-v2-authority-validator.d.ts.map +1 -0
  12. package/dist/consumer-integration/adapters/cohort-v2-authority-validator.js +361 -0
  13. package/dist/consumer-integration/adapters/cohort-v2-authority-validator.js.map +1 -0
  14. package/dist/consumer-integration/adapters/consumer-integration-schema-validator.d.ts.map +1 -1
  15. package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js +18 -3
  16. package/dist/consumer-integration/adapters/consumer-integration-schema-validator.js.map +1 -1
  17. package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts +40 -1
  18. package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.d.ts.map +1 -1
  19. package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js +227 -0
  20. package/dist/consumer-integration/adapters/consumer-upgrade-file-projectors.js.map +1 -1
  21. package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts +7 -4
  22. package/dist/consumer-integration/adapters/github-cohort-authority-reader.d.ts.map +1 -1
  23. package/dist/consumer-integration/adapters/github-cohort-authority-reader.js +100 -14
  24. package/dist/consumer-integration/adapters/github-cohort-authority-reader.js.map +1 -1
  25. package/dist/consumer-integration/adapters/node-consumer-integration-repository.d.ts.map +1 -1
  26. package/dist/consumer-integration/adapters/node-consumer-integration-repository.js +54 -15
  27. package/dist/consumer-integration/adapters/node-consumer-integration-repository.js.map +1 -1
  28. package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts +33 -5
  29. package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.d.ts.map +1 -1
  30. package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js +107 -104
  31. package/dist/consumer-integration/adapters/node-consumer-upgrade-sandbox.js.map +1 -1
  32. package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.d.ts +20 -0
  33. package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.d.ts.map +1 -0
  34. package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.js +89 -0
  35. package/dist/consumer-integration/adapters/node-consumer-upgrade-source-proof.js.map +1 -0
  36. package/dist/consumer-integration/adapters/node-consumer-upgrade-target.d.ts +11 -0
  37. package/dist/consumer-integration/adapters/node-consumer-upgrade-target.d.ts.map +1 -0
  38. package/dist/consumer-integration/adapters/node-consumer-upgrade-target.js +55 -0
  39. package/dist/consumer-integration/adapters/node-consumer-upgrade-target.js.map +1 -0
  40. package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.d.ts +1 -1
  41. package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.d.ts.map +1 -1
  42. package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.js +2 -3
  43. package/dist/consumer-integration/adapters/pnpm-lockfile-policy-v1.js.map +1 -1
  44. package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.d.ts +19 -0
  45. package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.d.ts.map +1 -1
  46. package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.js +184 -44
  47. package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v1.js.map +1 -1
  48. package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.d.ts +4 -0
  49. package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.d.ts.map +1 -0
  50. package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.js +64 -0
  51. package/dist/consumer-integration/adapters/pnpm-lockfile-validator-v2.js.map +1 -0
  52. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts +19 -2
  53. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.d.ts.map +1 -1
  54. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js +65 -18
  55. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v1.js.map +1 -1
  56. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.d.ts +13 -0
  57. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.d.ts.map +1 -0
  58. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.js +37 -0
  59. package/dist/consumer-integration/adapters/pnpm-manifest-adapter-v2.js.map +1 -0
  60. package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.d.ts +7 -0
  61. package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.d.ts.map +1 -1
  62. package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.js +12 -3
  63. package/dist/consumer-integration/adapters/pnpm-runtime-closure-v1.js.map +1 -1
  64. package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.d.ts +3 -0
  65. package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.d.ts.map +1 -0
  66. package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.js +11 -0
  67. package/dist/consumer-integration/adapters/pnpm-runtime-closure-v2.js.map +1 -0
  68. package/dist/consumer-integration/application/policies/consumer-integration-assets.d.ts +19 -3
  69. package/dist/consumer-integration/application/policies/consumer-integration-assets.d.ts.map +1 -1
  70. package/dist/consumer-integration/application/policies/consumer-integration-assets.js +38 -4
  71. package/dist/consumer-integration/application/policies/consumer-integration-assets.js.map +1 -1
  72. package/dist/consumer-integration/application/policies/consumer-integration-desired-state.d.ts +3 -1
  73. package/dist/consumer-integration/application/policies/consumer-integration-desired-state.d.ts.map +1 -1
  74. package/dist/consumer-integration/application/policies/consumer-integration-desired-state.js +87 -0
  75. package/dist/consumer-integration/application/policies/consumer-integration-desired-state.js.map +1 -1
  76. package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.d.ts +13 -0
  77. package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.d.ts.map +1 -0
  78. package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.js +38 -0
  79. package/dist/consumer-integration/application/policies/qualified-docs-cohort-v2.js.map +1 -0
  80. package/dist/consumer-integration/application/ports/consumer-integration-lifecycle.d.ts +3 -2
  81. package/dist/consumer-integration/application/ports/consumer-integration-lifecycle.d.ts.map +1 -1
  82. package/dist/consumer-integration/application/ports/consumer-integration-planners.d.ts +4 -4
  83. package/dist/consumer-integration/application/ports/consumer-integration-planners.d.ts.map +1 -1
  84. package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts +44 -6
  85. package/dist/consumer-integration/application/ports/consumer-upgrade.d.ts.map +1 -1
  86. package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.d.ts +39 -0
  87. package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.d.ts.map +1 -0
  88. package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.js +284 -0
  89. package/dist/consumer-integration/application/use-cases/compile-consumer-integration-v3.js.map +1 -0
  90. package/dist/consumer-integration/application/use-cases/plan-consumer-integration.d.ts +2 -2
  91. package/dist/consumer-integration/application/use-cases/plan-consumer-integration.d.ts.map +1 -1
  92. package/dist/consumer-integration/application/use-cases/plan-consumer-integration.js +23 -153
  93. package/dist/consumer-integration/application/use-cases/plan-consumer-integration.js.map +1 -1
  94. package/dist/consumer-integration/application/use-cases/run-consumer-integration.d.ts.map +1 -1
  95. package/dist/consumer-integration/application/use-cases/run-consumer-integration.js +10 -6
  96. package/dist/consumer-integration/application/use-cases/run-consumer-integration.js.map +1 -1
  97. package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts +1 -0
  98. package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.d.ts.map +1 -1
  99. package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js +163 -36
  100. package/dist/consumer-integration/application/use-cases/upgrade-consumer-integration.js.map +1 -1
  101. package/dist/consumer-integration/composition/consumer-integration-cli.d.ts.map +1 -1
  102. package/dist/consumer-integration/composition/consumer-integration-cli.js +8 -3
  103. package/dist/consumer-integration/composition/consumer-integration-cli.js.map +1 -1
  104. package/dist/consumer-integration/composition/consumer-integration-planner.d.ts +6 -2
  105. package/dist/consumer-integration/composition/consumer-integration-planner.d.ts.map +1 -1
  106. package/dist/consumer-integration/composition/consumer-integration-planner.js +40 -3
  107. package/dist/consumer-integration/composition/consumer-integration-planner.js.map +1 -1
  108. package/dist/consumer-integration/composition/node-consumer-integration.d.ts +6 -0
  109. package/dist/consumer-integration/composition/node-consumer-integration.d.ts.map +1 -1
  110. package/dist/consumer-integration/composition/node-consumer-integration.js +3 -0
  111. package/dist/consumer-integration/composition/node-consumer-integration.js.map +1 -1
  112. package/dist/consumer-integration/composition/qualification-v3-boundary.d.ts +20 -0
  113. package/dist/consumer-integration/composition/qualification-v3-boundary.d.ts.map +1 -0
  114. package/dist/consumer-integration/composition/qualification-v3-boundary.js +29 -0
  115. package/dist/consumer-integration/composition/qualification-v3-boundary.js.map +1 -0
  116. package/dist/consumer-integration/domain/model.d.ts +61 -0
  117. package/dist/consumer-integration/domain/model.d.ts.map +1 -1
  118. package/dist/consumer-integration/generated/canonical-assets.d.ts +3 -2
  119. package/dist/consumer-integration/generated/canonical-assets.d.ts.map +1 -1
  120. package/dist/consumer-integration/generated/canonical-assets.js +3 -2
  121. package/dist/consumer-integration/generated/canonical-assets.js.map +1 -1
  122. package/dist/consumer-integration/index.d.ts +3 -1
  123. package/dist/consumer-integration/index.d.ts.map +1 -1
  124. package/dist/consumer-integration/index.js +1 -0
  125. package/dist/consumer-integration/index.js.map +1 -1
  126. package/dist/index.d.ts +2 -1
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +1 -1
  129. package/dist/index.js.map +1 -1
  130. package/dist/qualification/index.d.ts +6 -0
  131. package/dist/qualification/index.d.ts.map +1 -1
  132. package/dist/qualification/index.js +3 -0
  133. package/dist/qualification/index.js.map +1 -1
  134. package/dist/qualification/qualification-v3-authority.d.ts +14 -0
  135. package/dist/qualification/qualification-v3-authority.d.ts.map +1 -0
  136. package/dist/qualification/qualification-v3-authority.js +5 -0
  137. package/dist/qualification/qualification-v3-authority.js.map +1 -0
  138. package/dist/qualification/qualification-v3-observer.d.ts +7 -0
  139. package/dist/qualification/qualification-v3-observer.d.ts.map +1 -0
  140. package/dist/qualification/qualification-v3-observer.js +22 -0
  141. package/dist/qualification/qualification-v3-observer.js.map +1 -0
  142. package/dist/qualification/qualification-v3-runner.d.ts +7 -0
  143. package/dist/qualification/qualification-v3-runner.d.ts.map +1 -0
  144. package/dist/qualification/qualification-v3-runner.js +95 -0
  145. package/dist/qualification/qualification-v3-runner.js.map +1 -0
  146. package/dist/qualification/v3-contract.d.ts +58 -0
  147. package/dist/qualification/v3-contract.d.ts.map +1 -0
  148. package/dist/qualification/v3-contract.js +2 -0
  149. package/dist/qualification/v3-contract.js.map +1 -0
  150. package/package.json +3 -3
  151. package/schemas/docs-consumer-integration-profile/v3.schema.json +68 -0
  152. package/schemas/docs-consumer-managed-state/v2.schema.json +120 -0
  153. package/schemas/docs-protocol-qualification-receipt/v3.schema.json +118 -0
  154. package/schemas/qualified-docs-cohort/v2.schema.json +149 -0
  155. package/skills/docs/SKILL.md +8 -6
@@ -0,0 +1,68 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-teams.ai/schemas/docs-consumer-integration-profile/v3",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "schemaVersion",
8
+ "repository",
9
+ "integrationRoot",
10
+ "packageManager",
11
+ "profilePath",
12
+ "skillPath",
13
+ "callerWorkflowPath",
14
+ "managedStatePath",
15
+ "cohort",
16
+ "qualification"
17
+ ],
18
+ "properties": {
19
+ "schemaVersion": { "const": 3 },
20
+ "repository": {
21
+ "type": "object",
22
+ "additionalProperties": false,
23
+ "required": ["provider", "id", "nameWithOwner"],
24
+ "properties": {
25
+ "provider": { "const": "github" },
26
+ "id": { "type": "string", "pattern": "^[1-9][0-9]*$" },
27
+ "nameWithOwner": {
28
+ "type": "string",
29
+ "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"
30
+ }
31
+ }
32
+ },
33
+ "integrationRoot": { "const": "." },
34
+ "packageManager": { "const": "pnpm" },
35
+ "profilePath": { "const": "architecture/foundation/docs-protocol.yaml" },
36
+ "skillPath": { "const": ".agents/skills/docs-authoring/SKILL.md" },
37
+ "callerWorkflowPath": { "const": ".github/workflows/docs-protocol.yml" },
38
+ "managedStatePath": {
39
+ "const": "architecture/foundation/docs-protocol-managed-state.json"
40
+ },
41
+ "qualification": {
42
+ "type": "object",
43
+ "additionalProperties": false,
44
+ "required": ["contractPath", "gateCommand"],
45
+ "properties": {
46
+ "contractPath": {
47
+ "const": "architecture/foundation/docs-protocol-qualification.json"
48
+ },
49
+ "gateCommand": { "const": "pnpm docs:protocol:check" }
50
+ }
51
+ },
52
+ "governedDocsRoots": {
53
+ "type": "array",
54
+ "minItems": 1,
55
+ "maxItems": 32,
56
+ "uniqueItems": true,
57
+ "items": {
58
+ "type": "string",
59
+ "minLength": 1,
60
+ "maxLength": 512,
61
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))[A-Za-z0-9._@-]{1,255}(?:/[A-Za-z0-9._@-]{1,255})*$"
62
+ }
63
+ },
64
+ "cohort": {
65
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/cohortBinding"
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-teams.ai/schemas/docs-consumer-managed-state/v2",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "schemaVersion",
8
+ "cohortId",
9
+ "cohortAuthority",
10
+ "repository",
11
+ "packages",
12
+ "schemas",
13
+ "runtime",
14
+ "profilePath",
15
+ "skillPath",
16
+ "callerWorkflowPath",
17
+ "managedStatePath",
18
+ "assets",
19
+ "stateDigest"
20
+ ],
21
+ "properties": {
22
+ "schemaVersion": { "const": 2 },
23
+ "cohortId": {
24
+ "type": "string",
25
+ "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$"
26
+ },
27
+ "cohortAuthority": {
28
+ "type": "object",
29
+ "additionalProperties": false,
30
+ "required": [
31
+ "channel",
32
+ "recordDigest",
33
+ "qualificationEventDigest",
34
+ "eligibleAfter",
35
+ "upgradeFrom",
36
+ "rollbackTo"
37
+ ],
38
+ "properties": {
39
+ "channel": { "enum": ["rc", "stable"] },
40
+ "recordDigest": {
41
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
42
+ },
43
+ "qualificationEventDigest": {
44
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
45
+ },
46
+ "eligibleAfter": {
47
+ "type": "string",
48
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
49
+ },
50
+ "upgradeFrom": {
51
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/cohortIds"
52
+ },
53
+ "rollbackTo": {
54
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/cohortIds"
55
+ }
56
+ }
57
+ },
58
+ "repository": {
59
+ "type": "object",
60
+ "additionalProperties": false,
61
+ "required": ["provider", "id", "nameWithOwner"],
62
+ "properties": {
63
+ "provider": { "const": "github" },
64
+ "id": { "type": "string", "pattern": "^[1-9][0-9]*$" },
65
+ "nameWithOwner": {
66
+ "type": "string",
67
+ "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"
68
+ }
69
+ }
70
+ },
71
+ "packages": {
72
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/cohortCore/properties/packages"
73
+ },
74
+ "schemas": {
75
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/cohortCore/properties/schemas"
76
+ },
77
+ "runtime": {
78
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/cohortCore/properties/runtime"
79
+ },
80
+ "profilePath": { "type": "string", "minLength": 1 },
81
+ "skillPath": { "type": "string", "minLength": 1 },
82
+ "callerWorkflowPath": { "type": "string", "minLength": 1 },
83
+ "managedStatePath": { "type": "string", "minLength": 1 },
84
+ "assets": {
85
+ "type": "object",
86
+ "additionalProperties": false,
87
+ "required": [
88
+ "skillDigest",
89
+ "callerWorkflowDigest",
90
+ "assetCatalogDigest",
91
+ "transitionCatalogDigest",
92
+ "agentsRouteDigest",
93
+ "docsScriptsDigest"
94
+ ],
95
+ "properties": {
96
+ "skillDigest": {
97
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
98
+ },
99
+ "callerWorkflowDigest": {
100
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
101
+ },
102
+ "assetCatalogDigest": {
103
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
104
+ },
105
+ "transitionCatalogDigest": {
106
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
107
+ },
108
+ "agentsRouteDigest": {
109
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
110
+ },
111
+ "docsScriptsDigest": {
112
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
113
+ }
114
+ }
115
+ },
116
+ "stateDigest": {
117
+ "$ref": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2#/$defs/nonzeroSha256"
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,118 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-teams.ai/schemas/docs-protocol-qualification-receipt/v3",
4
+ "title": "Docs Protocol Cohort v2 admission receipt",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "receiptDigest",
10
+ "cohortAdmissible",
11
+ "profileSchemaVersion",
12
+ "cohort",
13
+ "packages",
14
+ "schemas",
15
+ "runtime",
16
+ "checks"
17
+ ],
18
+ "properties": {
19
+ "schemaVersion": { "const": 3 },
20
+ "receiptDigest": { "$ref": "#/$defs/digest" },
21
+ "cohortAdmissible": { "const": true },
22
+ "profileSchemaVersion": { "const": 3 },
23
+ "cohort": {
24
+ "type": "object",
25
+ "additionalProperties": false,
26
+ "required": ["schemaVersion", "cohortId", "recordDigest", "qualificationEventDigest"],
27
+ "properties": {
28
+ "schemaVersion": { "const": 2 },
29
+ "cohortId": { "type": "string", "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$" },
30
+ "recordDigest": { "$ref": "#/$defs/digest" },
31
+ "qualificationEventDigest": { "$ref": "#/$defs/digest" }
32
+ }
33
+ },
34
+ "packages": {
35
+ "type": "array",
36
+ "minItems": 5,
37
+ "maxItems": 5,
38
+ "prefixItems": [
39
+ { "$ref": "#/$defs/repositoryMutation" },
40
+ { "$ref": "#/$defs/documentAuthoring" },
41
+ { "$ref": "#/$defs/docsProtocol" },
42
+ { "$ref": "#/$defs/docsProtocolAgentTeams" },
43
+ { "$ref": "#/$defs/engineeringFoundation" }
44
+ ],
45
+ "items": false
46
+ },
47
+ "schemas": {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "required": ["consumerIntegration", "managedState", "docsProtocol"],
51
+ "properties": {
52
+ "consumerIntegration": { "const": 3 },
53
+ "managedState": { "const": 2 },
54
+ "docsProtocol": { "const": 1 }
55
+ }
56
+ },
57
+ "runtime": {
58
+ "type": "object",
59
+ "additionalProperties": false,
60
+ "required": ["runtimeClosureDigest"],
61
+ "properties": { "runtimeClosureDigest": { "$ref": "#/$defs/digest" } }
62
+ },
63
+ "checks": {
64
+ "type": "array",
65
+ "minItems": 7,
66
+ "maxItems": 7,
67
+ "prefixItems": [
68
+ { "const": "profile-v3" },
69
+ { "const": "cohort-v2" },
70
+ { "const": "five-package-closure" },
71
+ { "const": "exact-package-versions" },
72
+ { "const": "exact-package-integrities" },
73
+ { "const": "schema-bindings-3-2-1" },
74
+ { "const": "runtime-closure-digest" }
75
+ ],
76
+ "items": false
77
+ }
78
+ },
79
+ "$defs": {
80
+ "digest": { "type": "string", "pattern": "^sha256:(?!0{64}$)[0-9a-f]{64}$" },
81
+ "package": {
82
+ "type": "object",
83
+ "additionalProperties": false,
84
+ "required": ["key", "name", "version", "integrity"],
85
+ "properties": {
86
+ "key": { "type": "string" },
87
+ "name": { "type": "string" },
88
+ "version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?$" },
89
+ "integrity": { "type": "string", "pattern": "^sha512-[A-Za-z0-9+/]{86}==$" }
90
+ }
91
+ },
92
+ "repositoryMutation": {
93
+ "type": "object",
94
+ "allOf": [{ "$ref": "#/$defs/package" }],
95
+ "properties": { "key": { "const": "repositoryMutation" }, "name": { "const": "@agent-teams/repository-mutation" } }
96
+ },
97
+ "documentAuthoring": {
98
+ "type": "object",
99
+ "allOf": [{ "$ref": "#/$defs/package" }],
100
+ "properties": { "key": { "const": "documentAuthoring" }, "name": { "const": "@agent-teams/document-authoring" } }
101
+ },
102
+ "docsProtocol": {
103
+ "type": "object",
104
+ "allOf": [{ "$ref": "#/$defs/package" }],
105
+ "properties": { "key": { "const": "docsProtocol" }, "name": { "const": "@agent-teams/docs-protocol" } }
106
+ },
107
+ "docsProtocolAgentTeams": {
108
+ "type": "object",
109
+ "allOf": [{ "$ref": "#/$defs/package" }],
110
+ "properties": { "key": { "const": "docsProtocolAgentTeams" }, "name": { "const": "@agent-teams/docs-protocol-agent-teams" } }
111
+ },
112
+ "engineeringFoundation": {
113
+ "type": "object",
114
+ "allOf": [{ "$ref": "#/$defs/package" }],
115
+ "properties": { "key": { "const": "engineeringFoundation" }, "name": { "const": "@agent-teams/engineering-foundation" } }
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,149 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-teams.ai/schemas/qualified-docs-cohort/v2",
4
+ "type": "object",
5
+ "allOf": [
6
+ { "$ref": "#/$defs/cohortCore" },
7
+ {
8
+ "type": "object",
9
+ "required": ["lifecycleState", "canaryRepositoryIds"],
10
+ "properties": {
11
+ "lifecycleState": { "enum": ["QUALIFIED", "CANARY", "RECOMMENDED"] },
12
+ "canaryRepositoryIds": {
13
+ "type": "array",
14
+ "minItems": 1,
15
+ "maxItems": 32,
16
+ "uniqueItems": true,
17
+ "items": { "type": "string", "pattern": "^[1-9][0-9]*$" }
18
+ }
19
+ }
20
+ }
21
+ ],
22
+ "unevaluatedProperties": false,
23
+ "$defs": {
24
+ "cohortBinding": {
25
+ "type": "object",
26
+ "allOf": [{ "$ref": "#/$defs/cohortCore" }],
27
+ "unevaluatedProperties": false
28
+ },
29
+ "cohortCore": {
30
+ "type": "object",
31
+ "required": [
32
+ "schemaVersion",
33
+ "cohortId",
34
+ "channel",
35
+ "recordDigest",
36
+ "qualificationEventDigest",
37
+ "eligibleAfter",
38
+ "upgradeFrom",
39
+ "rollbackTo",
40
+ "packages",
41
+ "workflow",
42
+ "assets",
43
+ "schemas",
44
+ "runtime"
45
+ ],
46
+ "properties": {
47
+ "schemaVersion": { "const": 2 },
48
+ "cohortId": { "type": "string", "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$" },
49
+ "channel": { "enum": ["rc", "stable"] },
50
+ "recordDigest": { "$ref": "#/$defs/nonzeroSha256" },
51
+ "qualificationEventDigest": { "$ref": "#/$defs/nonzeroSha256" },
52
+ "eligibleAfter": {
53
+ "type": "string",
54
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
55
+ },
56
+ "upgradeFrom": { "$ref": "#/$defs/cohortIds" },
57
+ "rollbackTo": { "$ref": "#/$defs/cohortIds" },
58
+ "packages": {
59
+ "type": "object",
60
+ "additionalProperties": false,
61
+ "required": [
62
+ "repositoryMutation",
63
+ "documentAuthoring",
64
+ "docsProtocol",
65
+ "docsProtocolAgentTeams",
66
+ "engineeringFoundation"
67
+ ],
68
+ "properties": {
69
+ "repositoryMutation": { "$ref": "#/$defs/package" },
70
+ "documentAuthoring": { "$ref": "#/$defs/package" },
71
+ "docsProtocol": { "$ref": "#/$defs/package" },
72
+ "docsProtocolAgentTeams": { "$ref": "#/$defs/package" },
73
+ "engineeringFoundation": { "$ref": "#/$defs/package" }
74
+ }
75
+ },
76
+ "workflow": {
77
+ "type": "object",
78
+ "additionalProperties": false,
79
+ "required": ["repository", "path", "revision", "blobSha"],
80
+ "properties": {
81
+ "repository": { "const": "agent-teams-ai/.github" },
82
+ "path": { "const": ".github/workflows/docs-protocol-check.yml" },
83
+ "revision": { "$ref": "#/$defs/nonzeroSha" },
84
+ "blobSha": { "$ref": "#/$defs/nonzeroSha" }
85
+ }
86
+ },
87
+ "assets": {
88
+ "type": "object",
89
+ "additionalProperties": false,
90
+ "required": [
91
+ "skillDigest",
92
+ "callerWorkflowDigest",
93
+ "assetCatalogDigest",
94
+ "transitionCatalogDigest"
95
+ ],
96
+ "properties": {
97
+ "skillDigest": { "$ref": "#/$defs/nonzeroSha256" },
98
+ "callerWorkflowDigest": { "$ref": "#/$defs/nonzeroSha256" },
99
+ "assetCatalogDigest": { "$ref": "#/$defs/nonzeroSha256" },
100
+ "transitionCatalogDigest": { "$ref": "#/$defs/nonzeroSha256" }
101
+ }
102
+ },
103
+ "schemas": {
104
+ "type": "object",
105
+ "additionalProperties": false,
106
+ "required": ["consumerIntegration", "managedState", "docsProtocol"],
107
+ "properties": {
108
+ "consumerIntegration": { "const": 3 },
109
+ "managedState": { "const": 2 },
110
+ "docsProtocol": { "const": 1 }
111
+ }
112
+ },
113
+ "runtime": {
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "required": ["node", "pnpm", "runtimeClosureDigest"],
117
+ "properties": {
118
+ "node": { "const": ">=24.18.0 <25" },
119
+ "pnpm": { "const": ">=11.17.0 <12" },
120
+ "runtimeClosureDigest": { "$ref": "#/$defs/nonzeroSha256" }
121
+ }
122
+ }
123
+ }
124
+ },
125
+ "nonzeroSha": { "type": "string", "pattern": "^(?!0{40}$)[0-9a-f]{40}$" },
126
+ "nonzeroSha256": {
127
+ "type": "string",
128
+ "pattern": "^sha256:(?!0{64}$)[0-9a-f]{64}$"
129
+ },
130
+ "cohortIds": {
131
+ "type": "array",
132
+ "maxItems": 32,
133
+ "uniqueItems": true,
134
+ "items": { "type": "string", "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$" }
135
+ },
136
+ "package": {
137
+ "type": "object",
138
+ "additionalProperties": false,
139
+ "required": ["version", "integrity"],
140
+ "properties": {
141
+ "version": {
142
+ "type": "string",
143
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?$"
144
+ },
145
+ "integrity": { "type": "string", "pattern": "^sha512-[A-Za-z0-9+/]{86}==$" }
146
+ }
147
+ }
148
+ }
149
+ }
@@ -10,20 +10,22 @@ Protocol: `agent-teams.docs-protocol/v1`.
10
10
  ## Required workflow
11
11
 
12
12
  - Read the current types, owners, placement, metadata, and index policy with `pnpm docs:info`.
13
- - Search first with `pnpm docs:find -- --text query`.
13
+ - Search first (docs-protocol find) with `pnpm docs:find -- --text query`.
14
14
  - Reuse or relate existing authority instead of creating a competing source.
15
- - Preview with `pnpm docs:new -- --type TYPE --id ID --title TITLE --owner OWNER --summary SUMMARY --dry-run`.
15
+ - Preview (docs-protocol new) with `pnpm docs:new -- --type TYPE --id ID --title TITLE --owner OWNER --summary SUMMARY --dry-run`.
16
16
  - Review the exact destination, metadata, relations, anchors, and diagnostics.
17
- - Apply with `pnpm docs:new -- --type TYPE --id ID --title TITLE --owner OWNER --summary SUMMARY --apply` after review.
18
- - Manually update the reported index/link exactly when reachability requires it.
17
+ - Apply (docs-protocol new) with `pnpm docs:new -- --type TYPE --id ID --title TITLE --owner OWNER --summary SUMMARY --apply` after review.
18
+ - If reachability is `manual-required`, update the reported index/link by adding the exact `markdownLink` to the reported `indexPath`.
19
+ - Refresh bounded context with `pnpm exec docs-protocol context --consumer "CONSUMER" --profile "PROFILE" --max-documents 8 --max-bytes 32768`; copy CONSUMER and PROFILE from the existing `docs:info` script, never guess a default profile.
19
20
  - For edits, preserve canonical frontmatter and sidecar ownership; use the repository's governed review flow rather than bypassing the create-only writer.
20
21
  - For accepted authority, record supersession explicitly instead of silently rewriting history.
21
- - Finish with the full consumer gate `pnpm docs:protocol:check` after the index is current.
22
+ - Run `pnpm docs:check` (docs-protocol check), then the full consumer gate `pnpm docs:protocol:check` after the index is current.
22
23
 
23
24
  ## Rules
25
+
24
26
  - Never invent owners, types, statuses, paths, or metadata outside `docs:info`.
25
27
  - If dependencies are absent, use only `pnpm install --frozen-lockfile`; never use npx, dlx, or latest tags.
26
28
  - Keep preview and apply inputs identical.
27
29
  - Stop when recovery is required; use `pnpm docs:doctor` before `pnpm docs:recover`.
28
30
  - Resolve required anchors and blockers before apply.
29
- - Do not bypass repository scripts or hand-edit transaction evidence.
31
+ - Use repository scripts except the explicit installed read-only context command above; never hand-edit transaction evidence.