naive-framework 0.0.0-stage → 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 (338) hide show
  1. package/AGENTS.md +61 -0
  2. package/LICENSE +21 -0
  3. package/README.md +37 -2
  4. package/docs/decisions/decisions.json +861 -0
  5. package/docs/ontology.json +796 -0
  6. package/docs/ontology.md +163 -0
  7. package/docs/reference/ROUTES.md +125 -0
  8. package/evidence/benchmarks/2026-10-27-golden.jev.after-catalog-fix.json +558 -0
  9. package/evidence/benchmarks/2026-10-27-golden.jev.json +501 -0
  10. package/evidence/benchmarks/2026-10-27-golden.reasoning-answers.json +177 -0
  11. package/evidence/benchmarks/JEV_VS_REASONING_MODEL_2026-10-27.md +68 -0
  12. package/evidence/capabilities/agent-capabilities.json +86 -0
  13. package/evidence/design-documents.registry.json +2896 -0
  14. package/evidence/evals/evals.json +25 -0
  15. package/evidence/evals/harness-evals.json +140 -0
  16. package/evidence/layer.json +51 -0
  17. package/evidence/skills/agent-capabilities/SKILL.md +35 -0
  18. package/evidence/skills/design-coverage/SKILL.md +57 -0
  19. package/evidence/skills/design-coverage/check.mjs +192 -0
  20. package/evidence/skills/design-coverage/scan.mjs +45 -0
  21. package/evidence/skills/fidelity-ladder-audit/SKILL.md +121 -0
  22. package/evidence/skills/fidelity-ladder-audit/ladder-census.mjs +180 -0
  23. package/evidence/skills/findability/SKILL.md +32 -0
  24. package/evidence/skills/findability/inventory.rb +41 -0
  25. package/evidence/skills/foreshadowing-audit/SKILL.md +183 -0
  26. package/evidence/skills/metrics-review/SKILL.md +177 -0
  27. package/evidence/tooling/integrations.json +153 -0
  28. package/governance/layer.json +101 -0
  29. package/governance/references/references.json +26 -0
  30. package/governance/skills/board-design/SKILL.md +68 -0
  31. package/governance/skills/brand-pillar/SKILL.md +90 -0
  32. package/governance/skills/business-pillar/SKILL.md +96 -0
  33. package/governance/skills/chief-of-staff/SKILL.md +45 -0
  34. package/governance/skills/cofounder-structure/SKILL.md +64 -0
  35. package/governance/skills/cross-pillar-tradeoff/SKILL.md +168 -0
  36. package/governance/skills/equity-and-share-classes/SKILL.md +68 -0
  37. package/governance/skills/executive-roles/SKILL.md +95 -0
  38. package/governance/skills/exit-planning/SKILL.md +66 -0
  39. package/governance/skills/financing-and-investor-rights/SKILL.md +73 -0
  40. package/governance/skills/office-hours-mode/SKILL.md +113 -0
  41. package/governance/skills/product-pillar/SKILL.md +81 -0
  42. package/governance/skills/publication-policy/SKILL.md +63 -0
  43. package/governance/skills/role-and-candidate-authoring/SKILL.md +198 -0
  44. package/governance/skills/stakeholder-update/SKILL.md +177 -0
  45. package/governance/tooling/integrations.json +37 -0
  46. package/governance/venture-template/AGENT_ROLES_AND_DECISION_RIGHTS.md +58 -0
  47. package/governance/venture-template/COMPANY_VAULT_DEFINITION_2026-10-25.md +204 -0
  48. package/governance/venture-template/README.md +74 -0
  49. package/governance/venture-template/decision-rights.json +186 -0
  50. package/governance/venture-template/index.md +151 -0
  51. package/governance/venture-template/pillars/brand.md +209 -0
  52. package/governance/venture-template/pillars/business.md +255 -0
  53. package/governance/venture-template/pillars/product.md +254 -0
  54. package/governance/venture-template/render-roles.py +11 -0
  55. package/governance/venture-template/roles/README.md +85 -0
  56. package/governance/venture-template/roles/agent-roles.json +202 -0
  57. package/governance/venture-template/roles/ceo.md +163 -0
  58. package/governance/venture-template/roles/chief-of-staff.md +153 -0
  59. package/governance/venture-template/roles/cmo.md +165 -0
  60. package/governance/venture-template/roles/coo.md +189 -0
  61. package/governance/venture-template/roles/cto.md +158 -0
  62. package/governance/venture-template/roles/department-head.md +47 -0
  63. package/governance/venture-template/roles/forward-deployed-engineer.md +51 -0
  64. package/governance/venture-template/roles/founder.md +173 -0
  65. package/governance/venture-template/roles/hr-manager.md +49 -0
  66. package/governance/venture-template/roles/talent-acquisition-manager.md +50 -0
  67. package/interface/api/server.mjs +69 -0
  68. package/interface/cli/find-venture.mjs +15 -0
  69. package/interface/cli/mentura.mjs +271 -0
  70. package/interface/cli/naive.mjs +169 -0
  71. package/interface/demo/board.mjs +581 -0
  72. package/interface/demo/decision-harness.mjs +91 -0
  73. package/interface/demo/live-agent.mjs +47 -0
  74. package/interface/harness/evals.mjs +90 -0
  75. package/interface/harness/examples/pt-no-shows.dump.md +19 -0
  76. package/interface/harness/run.mjs +313 -0
  77. package/interface/harness/site.mjs +59 -0
  78. package/interface/layer.json +31 -0
  79. package/interface/mcp/server.mjs +122 -0
  80. package/interface/operator-console/README.md +58 -0
  81. package/interface/provenance.mjs +42 -0
  82. package/interface/references/references.json +28 -0
  83. package/interface/route-aliases.json +32 -0
  84. package/interface/router.mjs +580 -0
  85. package/interface/skills/install-mentura/SKILL.md +88 -0
  86. package/interface/tooling/integrations.json +112 -0
  87. package/knowledge/connectors/README.md +54 -0
  88. package/knowledge/connectors/catalog.mjs +118 -0
  89. package/knowledge/connectors/contract.mjs +56 -0
  90. package/knowledge/connectors/eval.mjs +176 -0
  91. package/knowledge/connectors/filesystem.mjs +79 -0
  92. package/knowledge/connectors/index.mjs +102 -0
  93. package/knowledge/connectors/resolve.mjs +44 -0
  94. package/knowledge/connectors/suite.mjs +80 -0
  95. package/knowledge/layer.json +42 -0
  96. package/knowledge/skills/find-reference/SKILL.md +38 -0
  97. package/knowledge/skills/industry-awareness/SKILL.md +277 -0
  98. package/knowledge/tooling/integrations.json +127 -0
  99. package/knowledge/tooling/questions.md +46 -0
  100. package/operations/FOUNDER_OPERATING_MODEL_CAMPAIGN_2026-10-14.md +16 -0
  101. package/operations/departments.json +162 -0
  102. package/operations/handoff-v2.md +93 -0
  103. package/operations/layer.json +60 -0
  104. package/operations/marketing/check-public.mjs +68 -0
  105. package/operations/marketing/site/README.md +86 -0
  106. package/operations/marketing/site/matrix.json +731 -0
  107. package/operations/marketing/site/plan.mjs +117 -0
  108. package/operations/marketing/site/presence.mjs +252 -0
  109. package/operations/references/references.json +45 -0
  110. package/operations/skills/recruiting/SKILL.md +32 -0
  111. package/operations/skills/team-design/SKILL.md +36 -0
  112. package/operations/skills/tool-selection/SKILL.md +46 -0
  113. package/operations/templates/recruiting-brief.md +35 -0
  114. package/operations/tooling/integrations.json +158 -0
  115. package/package.json +57 -4
  116. package/packages/catalog.json +272 -0
  117. package/packages/cofounder/package.json +42 -0
  118. package/packages/counsel/package.json +47 -0
  119. package/packages/customers/package.json +21 -0
  120. package/packages/decisions/package.json +17 -0
  121. package/packages/engineering/package.json +41 -0
  122. package/packages/evidence/package.json +17 -0
  123. package/packages/finance/package.json +48 -0
  124. package/packages/foundation/package.json +52 -0
  125. package/packages/investor/package.json +57 -0
  126. package/packages/investors/package.json +21 -0
  127. package/packages/legal/package.json +73 -0
  128. package/packages/marketing/package.json +57 -0
  129. package/packages/money/package.json +21 -0
  130. package/packages/operations/package.json +74 -0
  131. package/packages/partner/package.json +38 -0
  132. package/packages/people/package.json +64 -0
  133. package/packages/product/package.json +49 -0
  134. package/packages/raw/package.json +19 -0
  135. package/packages/relationships/package.json +52 -0
  136. package/packages/validation/package.json +99 -0
  137. package/platform/README.md +45 -0
  138. package/platform/connectors/eval.mjs +154 -0
  139. package/platform/connectors/fake-github.mjs +91 -0
  140. package/platform/connectors/github.mjs +105 -0
  141. package/platform/integrations/jev.mjs +30 -0
  142. package/platform/integrations/langsmith-docket.mjs +53 -0
  143. package/platform/integrations/langsmith-setup.mjs +115 -0
  144. package/platform/integrations/langsmith.mjs +47 -0
  145. package/platform/integrations/rho.mjs +145 -0
  146. package/platform/integrations/site.mjs +75 -0
  147. package/platform/kits/README.md +7 -0
  148. package/platform/mcp/research.mjs +64 -0
  149. package/purpose/checklists/vault-and-tooling-consultancy-setup.md +216 -0
  150. package/purpose/frameworks/business-discovery-framework-amendments-2026-05-20.md +181 -0
  151. package/purpose/frameworks/business-discovery-framework.html +938 -0
  152. package/purpose/frameworks/business-discovery-framework.md +326 -0
  153. package/purpose/frameworks/idea-map/README.md +74 -0
  154. package/purpose/frameworks/idea-map/conventions.json +146 -0
  155. package/purpose/frameworks/idea-map/graph.mjs +182 -0
  156. package/purpose/frameworks/idea-map/ideamap.mjs +179 -0
  157. package/purpose/frameworks/idea-map/route.mjs +140 -0
  158. package/purpose/frameworks/onboarding-handoff-framework.md +269 -0
  159. package/purpose/frameworks/post-discovery-deliverable-playbook.md +274 -0
  160. package/purpose/frameworks/product-anatomy/README.md +63 -0
  161. package/purpose/frameworks/product-anatomy/anatomy.mjs +195 -0
  162. package/purpose/frameworks/product-anatomy/examples/polity.answers.reasoned.json +11 -0
  163. package/purpose/frameworks/product-anatomy/examples/polity.json +89 -0
  164. package/purpose/frameworks/product-anatomy/phases.json +107 -0
  165. package/purpose/frameworks/product-anatomy/questions.json +74 -0
  166. package/purpose/kits/validation/README.md +14 -0
  167. package/purpose/kits/validation/references/references.json +122 -0
  168. package/purpose/kits/validation/skills/problem-validation/SKILL.md +43 -0
  169. package/purpose/kits/validation/skills/validation-score/SKILL.md +35 -0
  170. package/purpose/kits/validation/templates/go-to-market.md +19 -0
  171. package/purpose/kits/validation/templates/operations-readiness.md +20 -0
  172. package/purpose/kits/validation/templates/pricing.md +22 -0
  173. package/purpose/kits/validation/templates/problem-interview.md +36 -0
  174. package/purpose/kits/validation/templates/problem.md +45 -0
  175. package/purpose/kits/validation/templates/product-market-fit.md +23 -0
  176. package/purpose/kits/validation/templates/solution.md +18 -0
  177. package/purpose/kits/validation/templates/team.md +19 -0
  178. package/purpose/kits/validation/weights.json +22 -0
  179. package/purpose/layer.json +53 -0
  180. package/purpose/references/references.json +324 -0
  181. package/purpose/skills/ambition-tier/SKILL.md +205 -0
  182. package/purpose/skills/telos/SKILL.md +52 -0
  183. package/purpose/strategic-foundation.json +133 -0
  184. package/purpose/templates/telos-based-smart.md +39 -0
  185. package/purpose/tooling/integrations.json +48 -0
  186. package/schema/README.md +61 -0
  187. package/schema/VERSION +1 -0
  188. package/schema/account.schema.json +79 -0
  189. package/schema/add-department.mjs +41 -0
  190. package/schema/agent-capability.schema.json +94 -0
  191. package/schema/alignment.schema.json +61 -0
  192. package/schema/assess-problem.mjs +131 -0
  193. package/schema/bdd.mjs +56 -0
  194. package/schema/board.schema.json +101 -0
  195. package/schema/check-boundary.mjs +54 -0
  196. package/schema/check-data-model.mjs +170 -0
  197. package/schema/check-data-packages.mjs +83 -0
  198. package/schema/check-departments.mjs +45 -0
  199. package/schema/check-execution.mjs +85 -0
  200. package/schema/check-governance.mjs +98 -0
  201. package/schema/check-integrations.mjs +33 -0
  202. package/schema/check-nextjs-status.mjs +77 -0
  203. package/schema/check-nouns.mjs +49 -0
  204. package/schema/check-private.mjs +61 -0
  205. package/schema/check-provenance.mjs +55 -0
  206. package/schema/check-publication.mjs +96 -0
  207. package/schema/check-ready.mjs +89 -0
  208. package/schema/check-sources.mjs +66 -0
  209. package/schema/check-team.mjs +94 -0
  210. package/schema/check-telos.mjs +59 -0
  211. package/schema/check-validation.mjs +165 -0
  212. package/schema/check-ventures.mjs +81 -0
  213. package/schema/check-where-used.mjs +58 -0
  214. package/schema/data-master.schema.json +14 -0
  215. package/schema/data-model.json +1258 -0
  216. package/schema/data-model.schema.json +152 -0
  217. package/schema/decision-analytics.mjs +77 -0
  218. package/schema/decision-record.schema.json +290 -0
  219. package/schema/decision-rights.schema.json +34 -0
  220. package/schema/decision.schema.json +30 -0
  221. package/schema/decisions.mjs +321 -0
  222. package/schema/department-catalog.schema.json +55 -0
  223. package/schema/department.schema.json +15 -0
  224. package/schema/departments.mjs +32 -0
  225. package/schema/docket-eval.mjs +89 -0
  226. package/schema/docket.mjs +135 -0
  227. package/schema/eval-suite.schema.json +45 -0
  228. package/schema/evidence.schema.json +110 -0
  229. package/schema/examples/migrate/agent.mjs +12 -0
  230. package/schema/examples/workspace/ventures/studio/accounts/bakery/account.json +18 -0
  231. package/schema/examples/workspace/ventures/studio/evidence/.gitkeep +0 -0
  232. package/schema/examples/workspace/ventures/studio/governance/.gitkeep +0 -0
  233. package/schema/examples/workspace/ventures/studio/knowledge/.gitkeep +0 -0
  234. package/schema/examples/workspace/ventures/studio/operations/.gitkeep +0 -0
  235. package/schema/examples/workspace/ventures/studio/print/knowledge/.gitkeep +0 -0
  236. package/schema/examples/workspace/ventures/studio/print/purpose/.gitkeep +0 -0
  237. package/schema/examples/workspace/ventures/studio/print/venture.json +37 -0
  238. package/schema/examples/workspace/ventures/studio/products/brand-care.json +19 -0
  239. package/schema/examples/workspace/ventures/studio/products/brand-kit.json +23 -0
  240. package/schema/examples/workspace/ventures/studio/provenance.jsonl +3 -0
  241. package/schema/examples/workspace/ventures/studio/purpose/.gitkeep +0 -0
  242. package/schema/examples/workspace/ventures/studio/venture.json +43 -0
  243. package/schema/examples/workspace/ventures/tandem/accounts/.gitkeep +0 -0
  244. package/schema/examples/workspace/ventures/tandem/evidence/README.md +3 -0
  245. package/schema/examples/workspace/ventures/tandem/governance/README.md +3 -0
  246. package/schema/examples/workspace/ventures/tandem/governance/agreements/dee-fast.md +3 -0
  247. package/schema/examples/workspace/ventures/tandem/governance/board.json +51 -0
  248. package/schema/examples/workspace/ventures/tandem/governance/departments/finance/charter.md +5 -0
  249. package/schema/examples/workspace/ventures/tandem/governance/departments/finance/department.json +5 -0
  250. package/schema/examples/workspace/ventures/tandem/governance/departments/primary/marketing-and-sales/charter.md +5 -0
  251. package/schema/examples/workspace/ventures/tandem/governance/departments/primary/marketing-and-sales/department.json +5 -0
  252. package/schema/examples/workspace/ventures/tandem/governance/exit.json +33 -0
  253. package/schema/examples/workspace/ventures/tandem/governance/founder-agreement.json +24 -0
  254. package/schema/examples/workspace/ventures/tandem/governance/founder-agreement.md +3 -0
  255. package/schema/examples/workspace/ventures/tandem/governance/ownership.json +131 -0
  256. package/schema/examples/workspace/ventures/tandem/governance/publication-policy.json +171 -0
  257. package/schema/examples/workspace/ventures/tandem/knowledge/README.md +3 -0
  258. package/schema/examples/workspace/ventures/tandem/knowledge/research/friends-feedback-2026-08.md +3 -0
  259. package/schema/examples/workspace/ventures/tandem/knowledge/research/pilot-2026-10.md +3 -0
  260. package/schema/examples/workspace/ventures/tandem/knowledge/research/problem-interviews-2026-09.md +20 -0
  261. package/schema/examples/workspace/ventures/tandem/knowledge/sources.json +8 -0
  262. package/schema/examples/workspace/ventures/tandem/knowledge/where-used.json +13 -0
  263. package/schema/examples/workspace/ventures/tandem/operations/README.md +3 -0
  264. package/schema/examples/workspace/ventures/tandem/operations/departments/finance/README.md +5 -0
  265. package/schema/examples/workspace/ventures/tandem/operations/departments/finance/department.json +5 -0
  266. package/schema/examples/workspace/ventures/tandem/operations/departments/primary/marketing-and-sales/README.md +5 -0
  267. package/schema/examples/workspace/ventures/tandem/operations/departments/primary/marketing-and-sales/department.json +5 -0
  268. package/schema/examples/workspace/ventures/tandem/pillars/brand.md +5 -0
  269. package/schema/examples/workspace/ventures/tandem/pillars/business.md +5 -0
  270. package/schema/examples/workspace/ventures/tandem/pillars/product.md +5 -0
  271. package/schema/examples/workspace/ventures/tandem/products/.gitkeep +0 -0
  272. package/schema/examples/workspace/ventures/tandem/products/shop-app.json +22 -0
  273. package/schema/examples/workspace/ventures/tandem/profile.md +5 -0
  274. package/schema/examples/workspace/ventures/tandem/provenance.jsonl +13 -0
  275. package/schema/examples/workspace/ventures/tandem/purpose/README.md +3 -0
  276. package/schema/examples/workspace/ventures/tandem/purpose/telos.json +78 -0
  277. package/schema/examples/workspace/ventures/tandem/purpose/validation/go-to-market.json +35 -0
  278. package/schema/examples/workspace/ventures/tandem/purpose/validation/pricing.json +37 -0
  279. package/schema/examples/workspace/ventures/tandem/purpose/validation/problem.json +74 -0
  280. package/schema/examples/workspace/ventures/tandem/purpose/validation/product-market-fit.json +66 -0
  281. package/schema/examples/workspace/ventures/tandem/purpose/validation/solution.json +33 -0
  282. package/schema/examples/workspace/ventures/tandem/purpose/validation/team.json +52 -0
  283. package/schema/examples/workspace/ventures/tandem/venture.json +79 -0
  284. package/schema/examples/workspace/ventures/woodworking/knowledge/.gitkeep +0 -0
  285. package/schema/examples/workspace/ventures/woodworking/venture.json +21 -0
  286. package/schema/examples/workspace/workspace.json +8 -0
  287. package/schema/exit.schema.json +74 -0
  288. package/schema/foundation.mjs +118 -0
  289. package/schema/founder-agreement.schema.json +83 -0
  290. package/schema/gate.mjs +39 -0
  291. package/schema/handoff.schema.json +239 -0
  292. package/schema/icp.schema.json +136 -0
  293. package/schema/idea-graph.schema.json +61 -0
  294. package/schema/init-venture.mjs +98 -0
  295. package/schema/integration.schema.json +143 -0
  296. package/schema/knowledge-sources.schema.json +130 -0
  297. package/schema/layer.json +46 -0
  298. package/schema/layer.schema.json +119 -0
  299. package/schema/load-packages.mjs +26 -0
  300. package/schema/marketing-sitemap.schema.json +232 -0
  301. package/schema/migrate-venture.mjs +192 -0
  302. package/schema/need-now.json +601 -0
  303. package/schema/need-now.mjs +107 -0
  304. package/schema/nextjs-status.schema.json +29 -0
  305. package/schema/ownership.schema.json +282 -0
  306. package/schema/packages.json +4 -0
  307. package/schema/packages.mjs +247 -0
  308. package/schema/payouts.mjs +91 -0
  309. package/schema/port-venture.mjs +161 -0
  310. package/schema/product.schema.json +223 -0
  311. package/schema/provenance-entry.schema.json +154 -0
  312. package/schema/publication-policy.schema.json +293 -0
  313. package/schema/raw-source.schema.json +15 -0
  314. package/schema/reference.schema.json +115 -0
  315. package/schema/route-aliases.schema.json +25 -0
  316. package/schema/run-handoff.mjs +51 -0
  317. package/schema/scaffold/defaults.json +54 -0
  318. package/schema/site-presence.schema.json +337 -0
  319. package/schema/strategic-foundation.schema.json +74 -0
  320. package/schema/stream.schema.json +14 -0
  321. package/schema/team-plan.schema.json +157 -0
  322. package/schema/telos.schema.json +197 -0
  323. package/schema/time-to-ready.mjs +93 -0
  324. package/schema/upgrade-venture.mjs +129 -0
  325. package/schema/use-model.mjs +10 -0
  326. package/schema/validate.py +49 -0
  327. package/schema/validation-evidence.schema.json +123 -0
  328. package/schema/validation-go-to-market.schema.json +110 -0
  329. package/schema/validation-operations-readiness.schema.json +91 -0
  330. package/schema/validation-pricing.schema.json +114 -0
  331. package/schema/validation-problem.schema.json +118 -0
  332. package/schema/validation-product-market-fit.schema.json +135 -0
  333. package/schema/validation-solution.schema.json +79 -0
  334. package/schema/validation-team.schema.json +116 -0
  335. package/schema/venture.schema.json +407 -0
  336. package/schema/vocab/business-models.json +298 -0
  337. package/schema/where-used.schema.json +56 -0
  338. package/schema/workspace.schema.json +38 -0
@@ -0,0 +1,143 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "integration.schema.json",
4
+ "title": "Layer tooling integration",
5
+ "description": "One tool or service a layer can use. Each layer lists its integrations in <layer>/tooling/integrations.json. Credentials are named, never stored. Entries under interface/ are interfaces, not integrations: they must reach at least three of the five other layers (EE-038) (schema/check-integrations.mjs). Knowledge integrations with a connector are the connector registry (EE-037): a venture's knowledge/sources.json names them by id.",
6
+ "type": "object",
7
+ "required": [
8
+ "id",
9
+ "name",
10
+ "layer",
11
+ "role",
12
+ "interfaces",
13
+ "status"
14
+ ],
15
+ "properties": {
16
+ "id": {
17
+ "type": "string",
18
+ "pattern": "^[a-z0-9-]+$"
19
+ },
20
+ "name": {
21
+ "type": "string"
22
+ },
23
+ "layer": {
24
+ "enum": [
25
+ "purpose",
26
+ "knowledge",
27
+ "operations",
28
+ "evidence",
29
+ "governance",
30
+ "interface"
31
+ ]
32
+ },
33
+ "role": {
34
+ "type": "string",
35
+ "description": "What the layer uses it for, in a few words"
36
+ },
37
+ "interfaces": {
38
+ "type": "array",
39
+ "items": {
40
+ "enum": [
41
+ "files",
42
+ "mcp",
43
+ "api",
44
+ "sdk",
45
+ "cli",
46
+ "webhook",
47
+ "app"
48
+ ]
49
+ },
50
+ "description": "How agents and code reach it"
51
+ },
52
+ "reach": {
53
+ "type": "array",
54
+ "uniqueItems": true,
55
+ "items": {
56
+ "enum": [
57
+ "purpose",
58
+ "knowledge",
59
+ "operations",
60
+ "evidence",
61
+ "governance"
62
+ ]
63
+ },
64
+ "description": "Interface layer only: the other layers a person can work in through it, in one session. At least three of the five."
65
+ },
66
+ "interface_kind": {
67
+ "enum": [
68
+ "agent-harness",
69
+ "custom"
70
+ ],
71
+ "description": "Interface layer only: an agent harness (built around an AI agent's loop, tools and files) or a custom interface built for the system or a venture."
72
+ },
73
+ "status": {
74
+ "enum": [
75
+ "in-use",
76
+ "candidate",
77
+ "rejected"
78
+ ]
79
+ },
80
+ "reason": {
81
+ "type": "string",
82
+ "description": "Why it is in use, a candidate, or rejected"
83
+ },
84
+ "credentials": {
85
+ "type": "array",
86
+ "items": {
87
+ "type": "string"
88
+ },
89
+ "description": "Environment variable names only"
90
+ },
91
+ "adapter": {
92
+ "type": "string",
93
+ "description": "Path to the skill, MCP config or script that wires it in, when one exists"
94
+ },
95
+ "links": {
96
+ "type": "array",
97
+ "items": {
98
+ "type": "string"
99
+ }
100
+ },
101
+ "connector": {
102
+ "type": "object",
103
+ "required": [
104
+ "module",
105
+ "writes"
106
+ ],
107
+ "additionalProperties": false,
108
+ "description": "Knowledge layer only: the module that implements the connector contract (knowledge/connectors/contract.mjs) for this integration, so a venture's knowledge/sources.json can keep records in it (EE-037)",
109
+ "properties": {
110
+ "module": {
111
+ "type": "string",
112
+ "pattern": "^(knowledge|platform)/connectors/[a-z0-9-]+\\.mjs$",
113
+ "description": "Path from the repository root; it exports connect(options). A connector that works offline and names no vendor is framework (knowledge/connectors/); any other is platform (platform/connectors/), EE-041"
114
+ },
115
+ "writes": {
116
+ "type": "array",
117
+ "minItems": 1,
118
+ "uniqueItems": true,
119
+ "items": {
120
+ "enum": [
121
+ "direct",
122
+ "pull-request",
123
+ "none"
124
+ ]
125
+ },
126
+ "description": "The write modes it supports; the first is its default"
127
+ },
128
+ "options": {
129
+ "type": "array",
130
+ "items": {
131
+ "type": "string"
132
+ },
133
+ "description": "The source options it takes, besides id and writes"
134
+ },
135
+ "eval": {
136
+ "type": "string",
137
+ "description": "The command that runs the contract evals against it"
138
+ }
139
+ }
140
+ }
141
+ },
142
+ "additionalProperties": false
143
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "knowledge-sources.schema.json",
4
+ "title": "Knowledge sources",
5
+ "description": "A venture's source map (<venture>/knowledge/sources.json, EE-037): the sources its records live in and which record types live where. Optional: a record type it does not name, and every record of a venture without one, lives in the venture's own folder (the implicit `venture` source). The venture decides its own layout; Mentura does not. Rules make it a source-of-truth matrix: a system of record per record type, attribute and context, written for a fast model to read (EE-042). Each source names a connector from the registry (an integration with a `connector` in knowledge/tooling/integrations.json). Credentials are named by environment variable, never stored.",
6
+ "type": "object",
7
+ "required": ["sources", "records"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "sources": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "required": ["id", "connector"],
15
+ "properties": {
16
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$", "not": { "const": "venture" }, "description": "The source's id; `venture` is reserved for the venture's own folder" },
17
+ "connector": { "type": "string", "description": "An integration id with a connector: filesystem, github" },
18
+ "writes": { "enum": ["direct", "pull-request", "none"], "description": "How writes reach it; the connector's default when left out" },
19
+ "root": { "type": "string", "description": "filesystem: the folder, relative to the venture folder or absolute. github: the folder inside the repository" },
20
+ "repo": { "type": "string", "pattern": "^[\\w.-]+/[\\w.-]+$", "description": "github: owner/name" },
21
+ "ref": { "type": "string", "description": "github: the branch (default main)" },
22
+ "token": { "type": "string", "pattern": "^[A-Z][A-Z0-9_]*$", "description": "github: the environment variable holding a token (default GITHUB_TOKEN)" },
23
+ "api": { "type": "string", "description": "github: the API base, for GitHub Enterprise" },
24
+ "search": { "enum": ["api", "scan"], "description": "github: code search (default) or a scan of the files" },
25
+ "note": { "type": "string" }
26
+ },
27
+ "additionalProperties": false
28
+ }
29
+ },
30
+ "records": {
31
+ "type": "object",
32
+ "description": "Record type id (from schema/data-model.json) -> source id. Unnamed record types stay in the venture folder.",
33
+ "additionalProperties": { "type": "string" }
34
+ },
35
+ "rules": {
36
+ "type": "array",
37
+ "description": "The source-of-truth matrix (EE-042). Each rule is one cell: for one record type in one context, its system of record and owner. Every field is present and \"*\" means any, so a fast model reads a rule without inferring anything. The rule with the most fields that are not \"*\" wins; two that tie fail the check. `records` is shorthand for rules that match anything.",
38
+ "items": {
39
+ "type": "object",
40
+ "required": [
41
+ "record",
42
+ "attribute",
43
+ "phase",
44
+ "product",
45
+ "account",
46
+ "actor",
47
+ "system_of_record",
48
+ "owner"
49
+ ],
50
+ "additionalProperties": false,
51
+ "properties": {
52
+ "record": {
53
+ "type": "string",
54
+ "description": "A venture record type id from schema/data-model.json"
55
+ },
56
+ "attribute": {
57
+ "type": "string",
58
+ "pattern": "^(\\*|[a-z_][a-z0-9_]*)$",
59
+ "description": "\"*\" for the whole record, or one top-level field mastered elsewhere (such as price). The router reads the field from that source and writes it there, kept at the record's own path as a JSON object holding only that field; the record's own file does not keep a copy."
60
+ },
61
+ "phase": {
62
+ "enum": [
63
+ "*",
64
+ "discovery",
65
+ "validation",
66
+ "beachhead",
67
+ "scale",
68
+ "platform"
69
+ ],
70
+ "description": "The venture's phase this rule holds in"
71
+ },
72
+ "product": {
73
+ "type": "string",
74
+ "pattern": "^(\\*|[a-z0-9][a-z0-9-]*)$",
75
+ "description": "A product id, or \"*\""
76
+ },
77
+ "account": {
78
+ "type": "string",
79
+ "pattern": "^(\\*|[a-z0-9][a-z0-9-]*)$",
80
+ "description": "An account id, or \"*\""
81
+ },
82
+ "actor": {
83
+ "enum": [
84
+ "*",
85
+ "person",
86
+ "agent"
87
+ ],
88
+ "description": "Who is reading or writing"
89
+ },
90
+ "system_of_record": {
91
+ "type": "string",
92
+ "description": "A source id from `sources`, or venture for the venture's own folder"
93
+ },
94
+ "owner": {
95
+ "type": "string",
96
+ "description": "The role accountable for this cell's data (the MDM data owner), a role id from governance decision rights or the team plan"
97
+ },
98
+ "survivorship": {
99
+ "type": "object",
100
+ "additionalProperties": false,
101
+ "required": [
102
+ "also_in",
103
+ "winner"
104
+ ],
105
+ "description": "When the same record also lives in other sources, which value wins. Running these rules across vendors is the platform's; the framework only states and checks them.",
106
+ "properties": {
107
+ "also_in": {
108
+ "type": "array",
109
+ "items": {
110
+ "type": "string"
111
+ },
112
+ "minItems": 1
113
+ },
114
+ "winner": {
115
+ "enum": [
116
+ "system-of-record",
117
+ "most-recent"
118
+ ]
119
+ }
120
+ }
121
+ },
122
+ "note": {
123
+ "type": "string"
124
+ }
125
+ }
126
+ }
127
+ },
128
+ "note": { "type": "string" }
129
+ }
130
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "layer": "system",
3
+ "purpose": "Hold the records every layer shares (workspace, venture, nouns, references, tooling, the data model and layer manifests, the provenance log) and the checks that tie the layers together.",
4
+ "product": "everything-ecosystem/kit",
5
+ "skills": [],
6
+ "records": [
7
+ "workspace",
8
+ "venture",
9
+ "ontology",
10
+ "reference",
11
+ "integration",
12
+ "business-models",
13
+ "scaffold",
14
+ "data-model",
15
+ "kit-manifest",
16
+ "need-now",
17
+ "provenance",
18
+ "venture-packages",
19
+ "venture-package"
20
+ ],
21
+ "reads": [
22
+ "product",
23
+ "account",
24
+ "decision"
25
+ ],
26
+ "writes": [],
27
+ "checks": [
28
+ "test.mjs",
29
+ "schema/validate.py",
30
+ "schema/check-data-model.mjs",
31
+ "schema/check-ventures.mjs",
32
+ "schema/check-nouns.mjs",
33
+ "schema/check-integrations.mjs",
34
+ "schema/init-venture.mjs",
35
+ "schema/test.mjs",
36
+ "schema/need-now.mjs",
37
+ "schema/time-to-ready.mjs",
38
+ "schema/check-provenance.mjs",
39
+ "schema/packages.mjs",
40
+ "schema/packages-test.mjs",
41
+ "schema/decision-analytics.mjs",
42
+ "schema/decision-analytics-test.mjs"
43
+ ],
44
+ "gaps": [],
45
+ "name": "system"
46
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "layer.schema.json",
4
+ "title": "Layer manifest",
5
+ "description": "What one layer of the framework repository holds, at <layer>/layer.json and schema/layer.json for the system layer (EE-018, EE-071). A layer organizes the framework repo. It is not a venture package. Venture packages live at packages/<name>/package.json. A kit is Mentura's word, at platform/kits/. schema/check-data-model.mjs checks this file.",
6
+ "type": "object",
7
+ "required": [
8
+ "name",
9
+ "layer",
10
+ "purpose",
11
+ "skills",
12
+ "records",
13
+ "reads",
14
+ "writes",
15
+ "checks"
16
+ ],
17
+ "additionalProperties": false,
18
+ "properties": {
19
+ "layer": {
20
+ "enum": [
21
+ "system",
22
+ "purpose",
23
+ "knowledge",
24
+ "operations",
25
+ "evidence",
26
+ "governance",
27
+ "interface"
28
+ ]
29
+ },
30
+ "purpose": {
31
+ "type": "string",
32
+ "description": "What the layer is for, in one sentence"
33
+ },
34
+ "product": {
35
+ "type": "string",
36
+ "description": "The product card that offers this layer's work, as <venture id>/<product id>"
37
+ },
38
+ "skills": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "object",
42
+ "required": [
43
+ "id",
44
+ "path"
45
+ ],
46
+ "additionalProperties": false,
47
+ "properties": {
48
+ "id": {
49
+ "type": "string"
50
+ },
51
+ "path": {
52
+ "type": "string",
53
+ "description": "The SKILL.md, from the repo root"
54
+ },
55
+ "tier": {
56
+ "enum": [
57
+ "governance",
58
+ "delivery",
59
+ "software-engineering",
60
+ "automation"
61
+ ],
62
+ "description": "Optional: the MAD tier a skill serves, for a venture that uses MAD (a separate product since EE-038)"
63
+ },
64
+ "standalone": {
65
+ "type": "boolean",
66
+ "description": "Useful without the rest of the layer"
67
+ },
68
+ "move_to": {
69
+ "type": "string",
70
+ "description": "A proposed owning layer or package, when the skill is filed in the wrong place"
71
+ },
72
+ "why": {
73
+ "type": "string"
74
+ }
75
+ }
76
+ }
77
+ },
78
+ "records": {
79
+ "type": "array",
80
+ "items": {
81
+ "type": "string"
82
+ },
83
+ "description": "Record types this layer owns (data-model ids). Venture records that a package owns are listed on the package, not here."
84
+ },
85
+ "reads": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "string"
89
+ },
90
+ "description": "Record types owned elsewhere that this layer's skills and checks read"
91
+ },
92
+ "writes": {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "string"
96
+ },
97
+ "description": "Record types owned elsewhere that this layer's skills write"
98
+ },
99
+ "checks": {
100
+ "type": "array",
101
+ "items": {
102
+ "type": "string"
103
+ },
104
+ "description": "Scripts that check or run this layer's records, from the repo root"
105
+ },
106
+ "gaps": {
107
+ "type": "array",
108
+ "items": {
109
+ "type": "string"
110
+ },
111
+ "description": "Known missing parts"
112
+ },
113
+ "name": {
114
+ "type": "string",
115
+ "pattern": "^[a-z0-9-]+$",
116
+ "description": "The layer's name"
117
+ }
118
+ }
119
+ }
@@ -0,0 +1,26 @@
1
+ // Loads the venture package catalog (EE-071). Each package is packages/<name>/package.json.
2
+ // packages/catalog.json holds the shared fit rules, the record dependency graph and the question
3
+ // matrix. schema/packages.json is the alias stub for one release; loaders do not read it.
4
+
5
+ import { existsSync, readFileSync } from "node:fs";
6
+ import { join } from "node:path";
7
+
8
+ const CORE = ["title", "department", "departments", "purpose", "required", "optional", "refs", "planned", "base", "when", "why", "unlocks", "not_modeled"];
9
+ const HANDOFF = ["title", "for", "from", "base", "when", "why", "unlocks", "not_modeled"];
10
+
11
+ /** The catalog in the shape schema/packages.mjs and the idea routes expect. */
12
+ export function loadPackages(repo) {
13
+ const catalog = JSON.parse(readFileSync(join(repo, "packages/catalog.json"), "utf8"));
14
+ const { order, note_split, ...rest } = catalog;
15
+ const take = (names, fields) => Object.fromEntries(names.map((n) => {
16
+ const p = join(repo, "packages", n, "package.json");
17
+ if (!existsSync(p)) throw new Error(`missing packages/${n}/package.json`);
18
+ const pkg = JSON.parse(readFileSync(p, "utf8"));
19
+ const o = {};
20
+ for (const k of fields) if (pkg[k] !== undefined) o[k] = pkg[k];
21
+ if (o.department && !o.function) o.function = o.department;
22
+ if (o.function && !o.department) o.department = o.function;
23
+ return [n, o];
24
+ }));
25
+ return { ...rest, core: take(order.core, CORE), handoff: take(order.handoff, HANDOFF) };
26
+ }