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.
- package/AGENTS.md +61 -0
- package/LICENSE +21 -0
- package/README.md +37 -2
- package/docs/decisions/decisions.json +861 -0
- package/docs/ontology.json +796 -0
- package/docs/ontology.md +163 -0
- package/docs/reference/ROUTES.md +125 -0
- package/evidence/benchmarks/2026-10-27-golden.jev.after-catalog-fix.json +558 -0
- package/evidence/benchmarks/2026-10-27-golden.jev.json +501 -0
- package/evidence/benchmarks/2026-10-27-golden.reasoning-answers.json +177 -0
- package/evidence/benchmarks/JEV_VS_REASONING_MODEL_2026-10-27.md +68 -0
- package/evidence/capabilities/agent-capabilities.json +86 -0
- package/evidence/design-documents.registry.json +2896 -0
- package/evidence/evals/evals.json +25 -0
- package/evidence/evals/harness-evals.json +140 -0
- package/evidence/layer.json +51 -0
- package/evidence/skills/agent-capabilities/SKILL.md +35 -0
- package/evidence/skills/design-coverage/SKILL.md +57 -0
- package/evidence/skills/design-coverage/check.mjs +192 -0
- package/evidence/skills/design-coverage/scan.mjs +45 -0
- package/evidence/skills/fidelity-ladder-audit/SKILL.md +121 -0
- package/evidence/skills/fidelity-ladder-audit/ladder-census.mjs +180 -0
- package/evidence/skills/findability/SKILL.md +32 -0
- package/evidence/skills/findability/inventory.rb +41 -0
- package/evidence/skills/foreshadowing-audit/SKILL.md +183 -0
- package/evidence/skills/metrics-review/SKILL.md +177 -0
- package/evidence/tooling/integrations.json +153 -0
- package/governance/layer.json +101 -0
- package/governance/references/references.json +26 -0
- package/governance/skills/board-design/SKILL.md +68 -0
- package/governance/skills/brand-pillar/SKILL.md +90 -0
- package/governance/skills/business-pillar/SKILL.md +96 -0
- package/governance/skills/chief-of-staff/SKILL.md +45 -0
- package/governance/skills/cofounder-structure/SKILL.md +64 -0
- package/governance/skills/cross-pillar-tradeoff/SKILL.md +168 -0
- package/governance/skills/equity-and-share-classes/SKILL.md +68 -0
- package/governance/skills/executive-roles/SKILL.md +95 -0
- package/governance/skills/exit-planning/SKILL.md +66 -0
- package/governance/skills/financing-and-investor-rights/SKILL.md +73 -0
- package/governance/skills/office-hours-mode/SKILL.md +113 -0
- package/governance/skills/product-pillar/SKILL.md +81 -0
- package/governance/skills/publication-policy/SKILL.md +63 -0
- package/governance/skills/role-and-candidate-authoring/SKILL.md +198 -0
- package/governance/skills/stakeholder-update/SKILL.md +177 -0
- package/governance/tooling/integrations.json +37 -0
- package/governance/venture-template/AGENT_ROLES_AND_DECISION_RIGHTS.md +58 -0
- package/governance/venture-template/COMPANY_VAULT_DEFINITION_2026-10-25.md +204 -0
- package/governance/venture-template/README.md +74 -0
- package/governance/venture-template/decision-rights.json +186 -0
- package/governance/venture-template/index.md +151 -0
- package/governance/venture-template/pillars/brand.md +209 -0
- package/governance/venture-template/pillars/business.md +255 -0
- package/governance/venture-template/pillars/product.md +254 -0
- package/governance/venture-template/render-roles.py +11 -0
- package/governance/venture-template/roles/README.md +85 -0
- package/governance/venture-template/roles/agent-roles.json +202 -0
- package/governance/venture-template/roles/ceo.md +163 -0
- package/governance/venture-template/roles/chief-of-staff.md +153 -0
- package/governance/venture-template/roles/cmo.md +165 -0
- package/governance/venture-template/roles/coo.md +189 -0
- package/governance/venture-template/roles/cto.md +158 -0
- package/governance/venture-template/roles/department-head.md +47 -0
- package/governance/venture-template/roles/forward-deployed-engineer.md +51 -0
- package/governance/venture-template/roles/founder.md +173 -0
- package/governance/venture-template/roles/hr-manager.md +49 -0
- package/governance/venture-template/roles/talent-acquisition-manager.md +50 -0
- package/interface/api/server.mjs +69 -0
- package/interface/cli/find-venture.mjs +15 -0
- package/interface/cli/mentura.mjs +271 -0
- package/interface/cli/naive.mjs +169 -0
- package/interface/demo/board.mjs +581 -0
- package/interface/demo/decision-harness.mjs +91 -0
- package/interface/demo/live-agent.mjs +47 -0
- package/interface/harness/evals.mjs +90 -0
- package/interface/harness/examples/pt-no-shows.dump.md +19 -0
- package/interface/harness/run.mjs +313 -0
- package/interface/harness/site.mjs +59 -0
- package/interface/layer.json +31 -0
- package/interface/mcp/server.mjs +122 -0
- package/interface/operator-console/README.md +58 -0
- package/interface/provenance.mjs +42 -0
- package/interface/references/references.json +28 -0
- package/interface/route-aliases.json +32 -0
- package/interface/router.mjs +580 -0
- package/interface/skills/install-mentura/SKILL.md +88 -0
- package/interface/tooling/integrations.json +112 -0
- package/knowledge/connectors/README.md +54 -0
- package/knowledge/connectors/catalog.mjs +118 -0
- package/knowledge/connectors/contract.mjs +56 -0
- package/knowledge/connectors/eval.mjs +176 -0
- package/knowledge/connectors/filesystem.mjs +79 -0
- package/knowledge/connectors/index.mjs +102 -0
- package/knowledge/connectors/resolve.mjs +44 -0
- package/knowledge/connectors/suite.mjs +80 -0
- package/knowledge/layer.json +42 -0
- package/knowledge/skills/find-reference/SKILL.md +38 -0
- package/knowledge/skills/industry-awareness/SKILL.md +277 -0
- package/knowledge/tooling/integrations.json +127 -0
- package/knowledge/tooling/questions.md +46 -0
- package/operations/FOUNDER_OPERATING_MODEL_CAMPAIGN_2026-10-14.md +16 -0
- package/operations/departments.json +162 -0
- package/operations/handoff-v2.md +93 -0
- package/operations/layer.json +60 -0
- package/operations/marketing/check-public.mjs +68 -0
- package/operations/marketing/site/README.md +86 -0
- package/operations/marketing/site/matrix.json +731 -0
- package/operations/marketing/site/plan.mjs +117 -0
- package/operations/marketing/site/presence.mjs +252 -0
- package/operations/references/references.json +45 -0
- package/operations/skills/recruiting/SKILL.md +32 -0
- package/operations/skills/team-design/SKILL.md +36 -0
- package/operations/skills/tool-selection/SKILL.md +46 -0
- package/operations/templates/recruiting-brief.md +35 -0
- package/operations/tooling/integrations.json +158 -0
- package/package.json +57 -4
- package/packages/catalog.json +272 -0
- package/packages/cofounder/package.json +42 -0
- package/packages/counsel/package.json +47 -0
- package/packages/customers/package.json +21 -0
- package/packages/decisions/package.json +17 -0
- package/packages/engineering/package.json +41 -0
- package/packages/evidence/package.json +17 -0
- package/packages/finance/package.json +48 -0
- package/packages/foundation/package.json +52 -0
- package/packages/investor/package.json +57 -0
- package/packages/investors/package.json +21 -0
- package/packages/legal/package.json +73 -0
- package/packages/marketing/package.json +57 -0
- package/packages/money/package.json +21 -0
- package/packages/operations/package.json +74 -0
- package/packages/partner/package.json +38 -0
- package/packages/people/package.json +64 -0
- package/packages/product/package.json +49 -0
- package/packages/raw/package.json +19 -0
- package/packages/relationships/package.json +52 -0
- package/packages/validation/package.json +99 -0
- package/platform/README.md +45 -0
- package/platform/connectors/eval.mjs +154 -0
- package/platform/connectors/fake-github.mjs +91 -0
- package/platform/connectors/github.mjs +105 -0
- package/platform/integrations/jev.mjs +30 -0
- package/platform/integrations/langsmith-docket.mjs +53 -0
- package/platform/integrations/langsmith-setup.mjs +115 -0
- package/platform/integrations/langsmith.mjs +47 -0
- package/platform/integrations/rho.mjs +145 -0
- package/platform/integrations/site.mjs +75 -0
- package/platform/kits/README.md +7 -0
- package/platform/mcp/research.mjs +64 -0
- package/purpose/checklists/vault-and-tooling-consultancy-setup.md +216 -0
- package/purpose/frameworks/business-discovery-framework-amendments-2026-05-20.md +181 -0
- package/purpose/frameworks/business-discovery-framework.html +938 -0
- package/purpose/frameworks/business-discovery-framework.md +326 -0
- package/purpose/frameworks/idea-map/README.md +74 -0
- package/purpose/frameworks/idea-map/conventions.json +146 -0
- package/purpose/frameworks/idea-map/graph.mjs +182 -0
- package/purpose/frameworks/idea-map/ideamap.mjs +179 -0
- package/purpose/frameworks/idea-map/route.mjs +140 -0
- package/purpose/frameworks/onboarding-handoff-framework.md +269 -0
- package/purpose/frameworks/post-discovery-deliverable-playbook.md +274 -0
- package/purpose/frameworks/product-anatomy/README.md +63 -0
- package/purpose/frameworks/product-anatomy/anatomy.mjs +195 -0
- package/purpose/frameworks/product-anatomy/examples/polity.answers.reasoned.json +11 -0
- package/purpose/frameworks/product-anatomy/examples/polity.json +89 -0
- package/purpose/frameworks/product-anatomy/phases.json +107 -0
- package/purpose/frameworks/product-anatomy/questions.json +74 -0
- package/purpose/kits/validation/README.md +14 -0
- package/purpose/kits/validation/references/references.json +122 -0
- package/purpose/kits/validation/skills/problem-validation/SKILL.md +43 -0
- package/purpose/kits/validation/skills/validation-score/SKILL.md +35 -0
- package/purpose/kits/validation/templates/go-to-market.md +19 -0
- package/purpose/kits/validation/templates/operations-readiness.md +20 -0
- package/purpose/kits/validation/templates/pricing.md +22 -0
- package/purpose/kits/validation/templates/problem-interview.md +36 -0
- package/purpose/kits/validation/templates/problem.md +45 -0
- package/purpose/kits/validation/templates/product-market-fit.md +23 -0
- package/purpose/kits/validation/templates/solution.md +18 -0
- package/purpose/kits/validation/templates/team.md +19 -0
- package/purpose/kits/validation/weights.json +22 -0
- package/purpose/layer.json +53 -0
- package/purpose/references/references.json +324 -0
- package/purpose/skills/ambition-tier/SKILL.md +205 -0
- package/purpose/skills/telos/SKILL.md +52 -0
- package/purpose/strategic-foundation.json +133 -0
- package/purpose/templates/telos-based-smart.md +39 -0
- package/purpose/tooling/integrations.json +48 -0
- package/schema/README.md +61 -0
- package/schema/VERSION +1 -0
- package/schema/account.schema.json +79 -0
- package/schema/add-department.mjs +41 -0
- package/schema/agent-capability.schema.json +94 -0
- package/schema/alignment.schema.json +61 -0
- package/schema/assess-problem.mjs +131 -0
- package/schema/bdd.mjs +56 -0
- package/schema/board.schema.json +101 -0
- package/schema/check-boundary.mjs +54 -0
- package/schema/check-data-model.mjs +170 -0
- package/schema/check-data-packages.mjs +83 -0
- package/schema/check-departments.mjs +45 -0
- package/schema/check-execution.mjs +85 -0
- package/schema/check-governance.mjs +98 -0
- package/schema/check-integrations.mjs +33 -0
- package/schema/check-nextjs-status.mjs +77 -0
- package/schema/check-nouns.mjs +49 -0
- package/schema/check-private.mjs +61 -0
- package/schema/check-provenance.mjs +55 -0
- package/schema/check-publication.mjs +96 -0
- package/schema/check-ready.mjs +89 -0
- package/schema/check-sources.mjs +66 -0
- package/schema/check-team.mjs +94 -0
- package/schema/check-telos.mjs +59 -0
- package/schema/check-validation.mjs +165 -0
- package/schema/check-ventures.mjs +81 -0
- package/schema/check-where-used.mjs +58 -0
- package/schema/data-master.schema.json +14 -0
- package/schema/data-model.json +1258 -0
- package/schema/data-model.schema.json +152 -0
- package/schema/decision-analytics.mjs +77 -0
- package/schema/decision-record.schema.json +290 -0
- package/schema/decision-rights.schema.json +34 -0
- package/schema/decision.schema.json +30 -0
- package/schema/decisions.mjs +321 -0
- package/schema/department-catalog.schema.json +55 -0
- package/schema/department.schema.json +15 -0
- package/schema/departments.mjs +32 -0
- package/schema/docket-eval.mjs +89 -0
- package/schema/docket.mjs +135 -0
- package/schema/eval-suite.schema.json +45 -0
- package/schema/evidence.schema.json +110 -0
- package/schema/examples/migrate/agent.mjs +12 -0
- package/schema/examples/workspace/ventures/studio/accounts/bakery/account.json +18 -0
- package/schema/examples/workspace/ventures/studio/evidence/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/studio/governance/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/studio/knowledge/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/studio/operations/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/studio/print/knowledge/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/studio/print/purpose/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/studio/print/venture.json +37 -0
- package/schema/examples/workspace/ventures/studio/products/brand-care.json +19 -0
- package/schema/examples/workspace/ventures/studio/products/brand-kit.json +23 -0
- package/schema/examples/workspace/ventures/studio/provenance.jsonl +3 -0
- package/schema/examples/workspace/ventures/studio/purpose/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/studio/venture.json +43 -0
- package/schema/examples/workspace/ventures/tandem/accounts/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/tandem/evidence/README.md +3 -0
- package/schema/examples/workspace/ventures/tandem/governance/README.md +3 -0
- package/schema/examples/workspace/ventures/tandem/governance/agreements/dee-fast.md +3 -0
- package/schema/examples/workspace/ventures/tandem/governance/board.json +51 -0
- package/schema/examples/workspace/ventures/tandem/governance/departments/finance/charter.md +5 -0
- package/schema/examples/workspace/ventures/tandem/governance/departments/finance/department.json +5 -0
- package/schema/examples/workspace/ventures/tandem/governance/departments/primary/marketing-and-sales/charter.md +5 -0
- package/schema/examples/workspace/ventures/tandem/governance/departments/primary/marketing-and-sales/department.json +5 -0
- package/schema/examples/workspace/ventures/tandem/governance/exit.json +33 -0
- package/schema/examples/workspace/ventures/tandem/governance/founder-agreement.json +24 -0
- package/schema/examples/workspace/ventures/tandem/governance/founder-agreement.md +3 -0
- package/schema/examples/workspace/ventures/tandem/governance/ownership.json +131 -0
- package/schema/examples/workspace/ventures/tandem/governance/publication-policy.json +171 -0
- package/schema/examples/workspace/ventures/tandem/knowledge/README.md +3 -0
- package/schema/examples/workspace/ventures/tandem/knowledge/research/friends-feedback-2026-08.md +3 -0
- package/schema/examples/workspace/ventures/tandem/knowledge/research/pilot-2026-10.md +3 -0
- package/schema/examples/workspace/ventures/tandem/knowledge/research/problem-interviews-2026-09.md +20 -0
- package/schema/examples/workspace/ventures/tandem/knowledge/sources.json +8 -0
- package/schema/examples/workspace/ventures/tandem/knowledge/where-used.json +13 -0
- package/schema/examples/workspace/ventures/tandem/operations/README.md +3 -0
- package/schema/examples/workspace/ventures/tandem/operations/departments/finance/README.md +5 -0
- package/schema/examples/workspace/ventures/tandem/operations/departments/finance/department.json +5 -0
- package/schema/examples/workspace/ventures/tandem/operations/departments/primary/marketing-and-sales/README.md +5 -0
- package/schema/examples/workspace/ventures/tandem/operations/departments/primary/marketing-and-sales/department.json +5 -0
- package/schema/examples/workspace/ventures/tandem/pillars/brand.md +5 -0
- package/schema/examples/workspace/ventures/tandem/pillars/business.md +5 -0
- package/schema/examples/workspace/ventures/tandem/pillars/product.md +5 -0
- package/schema/examples/workspace/ventures/tandem/products/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/tandem/products/shop-app.json +22 -0
- package/schema/examples/workspace/ventures/tandem/profile.md +5 -0
- package/schema/examples/workspace/ventures/tandem/provenance.jsonl +13 -0
- package/schema/examples/workspace/ventures/tandem/purpose/README.md +3 -0
- package/schema/examples/workspace/ventures/tandem/purpose/telos.json +78 -0
- package/schema/examples/workspace/ventures/tandem/purpose/validation/go-to-market.json +35 -0
- package/schema/examples/workspace/ventures/tandem/purpose/validation/pricing.json +37 -0
- package/schema/examples/workspace/ventures/tandem/purpose/validation/problem.json +74 -0
- package/schema/examples/workspace/ventures/tandem/purpose/validation/product-market-fit.json +66 -0
- package/schema/examples/workspace/ventures/tandem/purpose/validation/solution.json +33 -0
- package/schema/examples/workspace/ventures/tandem/purpose/validation/team.json +52 -0
- package/schema/examples/workspace/ventures/tandem/venture.json +79 -0
- package/schema/examples/workspace/ventures/woodworking/knowledge/.gitkeep +0 -0
- package/schema/examples/workspace/ventures/woodworking/venture.json +21 -0
- package/schema/examples/workspace/workspace.json +8 -0
- package/schema/exit.schema.json +74 -0
- package/schema/foundation.mjs +118 -0
- package/schema/founder-agreement.schema.json +83 -0
- package/schema/gate.mjs +39 -0
- package/schema/handoff.schema.json +239 -0
- package/schema/icp.schema.json +136 -0
- package/schema/idea-graph.schema.json +61 -0
- package/schema/init-venture.mjs +98 -0
- package/schema/integration.schema.json +143 -0
- package/schema/knowledge-sources.schema.json +130 -0
- package/schema/layer.json +46 -0
- package/schema/layer.schema.json +119 -0
- package/schema/load-packages.mjs +26 -0
- package/schema/marketing-sitemap.schema.json +232 -0
- package/schema/migrate-venture.mjs +192 -0
- package/schema/need-now.json +601 -0
- package/schema/need-now.mjs +107 -0
- package/schema/nextjs-status.schema.json +29 -0
- package/schema/ownership.schema.json +282 -0
- package/schema/packages.json +4 -0
- package/schema/packages.mjs +247 -0
- package/schema/payouts.mjs +91 -0
- package/schema/port-venture.mjs +161 -0
- package/schema/product.schema.json +223 -0
- package/schema/provenance-entry.schema.json +154 -0
- package/schema/publication-policy.schema.json +293 -0
- package/schema/raw-source.schema.json +15 -0
- package/schema/reference.schema.json +115 -0
- package/schema/route-aliases.schema.json +25 -0
- package/schema/run-handoff.mjs +51 -0
- package/schema/scaffold/defaults.json +54 -0
- package/schema/site-presence.schema.json +337 -0
- package/schema/strategic-foundation.schema.json +74 -0
- package/schema/stream.schema.json +14 -0
- package/schema/team-plan.schema.json +157 -0
- package/schema/telos.schema.json +197 -0
- package/schema/time-to-ready.mjs +93 -0
- package/schema/upgrade-venture.mjs +129 -0
- package/schema/use-model.mjs +10 -0
- package/schema/validate.py +49 -0
- package/schema/validation-evidence.schema.json +123 -0
- package/schema/validation-go-to-market.schema.json +110 -0
- package/schema/validation-operations-readiness.schema.json +91 -0
- package/schema/validation-pricing.schema.json +114 -0
- package/schema/validation-problem.schema.json +118 -0
- package/schema/validation-product-market-fit.schema.json +135 -0
- package/schema/validation-solution.schema.json +79 -0
- package/schema/validation-team.schema.json +116 -0
- package/schema/venture.schema.json +407 -0
- package/schema/vocab/business-models.json +298 -0
- package/schema/where-used.schema.json +56 -0
- package/schema/workspace.schema.json +38 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "product.schema.json",
|
|
4
|
+
"title": "Product",
|
|
5
|
+
"description": "One product of a venture, stored as a card at products/<id>.json (EE-011). It holds the product's own market, job, technology, offering and business model; Product Anatomy judges it against the venture's core and assigns its portfolio role per phase.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"id",
|
|
9
|
+
"name",
|
|
10
|
+
"description"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"id": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"pattern": "^[a-z0-9-]+$"
|
|
16
|
+
},
|
|
17
|
+
"name": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"description": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"market": {
|
|
24
|
+
"description": "Who is served (Abell: customer groups). One market, or several with one marked primary.",
|
|
25
|
+
"oneOf": [
|
|
26
|
+
{
|
|
27
|
+
"type": "object",
|
|
28
|
+
"description": "Who is served (Abell: customer groups).",
|
|
29
|
+
"properties": {
|
|
30
|
+
"customer": {
|
|
31
|
+
"enum": [
|
|
32
|
+
"b2c",
|
|
33
|
+
"b2b",
|
|
34
|
+
"b2g",
|
|
35
|
+
"b2b2c"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"relationship": {
|
|
39
|
+
"enum": [
|
|
40
|
+
"customer",
|
|
41
|
+
"client",
|
|
42
|
+
"user",
|
|
43
|
+
"member",
|
|
44
|
+
"audience",
|
|
45
|
+
"partner"
|
|
46
|
+
],
|
|
47
|
+
"description": "How the people in this market stand to the product (EE-021): customer buys, client is served under a professional relationship, user uses (may not pay), member belongs, audience reads, watches or listens, partner works with the venture"
|
|
48
|
+
},
|
|
49
|
+
"segment": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
},
|
|
52
|
+
"geography": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
},
|
|
55
|
+
"vertical": {
|
|
56
|
+
"type": "boolean",
|
|
57
|
+
"description": "true: one industry; false: across many (horizontal)"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"additionalProperties": false
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"type": "array",
|
|
64
|
+
"minItems": 2,
|
|
65
|
+
"items": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"description": "Who is served (Abell: customer groups).",
|
|
68
|
+
"properties": {
|
|
69
|
+
"customer": {
|
|
70
|
+
"enum": [
|
|
71
|
+
"b2c",
|
|
72
|
+
"b2b",
|
|
73
|
+
"b2g",
|
|
74
|
+
"b2b2c"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"segment": {
|
|
78
|
+
"type": "string"
|
|
79
|
+
},
|
|
80
|
+
"geography": {
|
|
81
|
+
"type": "string"
|
|
82
|
+
},
|
|
83
|
+
"vertical": {
|
|
84
|
+
"type": "boolean",
|
|
85
|
+
"description": "true: one industry; false: across many (horizontal)"
|
|
86
|
+
},
|
|
87
|
+
"primary": {
|
|
88
|
+
"type": "boolean",
|
|
89
|
+
"description": "The market the product is mainly built for; exactly one when several are listed"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"additionalProperties": false
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"job": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"description": "The need it meets (Abell: customer function; jobs to be done)"
|
|
100
|
+
},
|
|
101
|
+
"technology": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"description": "How it meets the need (Abell: alternative technologies)"
|
|
104
|
+
},
|
|
105
|
+
"ai": {
|
|
106
|
+
"enum": [
|
|
107
|
+
"none",
|
|
108
|
+
"feature",
|
|
109
|
+
"ai-harness",
|
|
110
|
+
"agent-harness"
|
|
111
|
+
],
|
|
112
|
+
"description": "What AI is to the product. feature: the product works without the model. ai-harness: the product is the software around a model (a chatbot); remove the model and nothing is left. agent-harness: an AI harness where the model directs its own steps and tool use toward a goal. Tests in docs/ontology.md."
|
|
113
|
+
},
|
|
114
|
+
"offering": {
|
|
115
|
+
"enum": [
|
|
116
|
+
"product",
|
|
117
|
+
"service",
|
|
118
|
+
"platform",
|
|
119
|
+
"content",
|
|
120
|
+
"marketplace"
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"scope": {
|
|
124
|
+
"type": "object",
|
|
125
|
+
"description": "Where in the system the product works: the whole system, one layer, or one tier of the operations layer. Kits use it most (a knowledge-layer kit, a delivery-tier kit).",
|
|
126
|
+
"required": [
|
|
127
|
+
"level"
|
|
128
|
+
],
|
|
129
|
+
"properties": {
|
|
130
|
+
"level": {
|
|
131
|
+
"enum": [
|
|
132
|
+
"system",
|
|
133
|
+
"layer",
|
|
134
|
+
"tier"
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
"layer": {
|
|
138
|
+
"enum": [
|
|
139
|
+
"purpose",
|
|
140
|
+
"knowledge",
|
|
141
|
+
"operations",
|
|
142
|
+
"evidence",
|
|
143
|
+
"governance",
|
|
144
|
+
"interface"
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
"tier": {
|
|
148
|
+
"enum": [
|
|
149
|
+
"governance",
|
|
150
|
+
"delivery",
|
|
151
|
+
"software-engineering",
|
|
152
|
+
"automation"
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"additionalProperties": false
|
|
157
|
+
},
|
|
158
|
+
"part_of": {
|
|
159
|
+
"type": "array",
|
|
160
|
+
"uniqueItems": true,
|
|
161
|
+
"items": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"pattern": "^[a-z0-9-]+$"
|
|
164
|
+
},
|
|
165
|
+
"description": "Kits this product is bundled into, by product id in the same venture. A part can still be its own product with its own market and portfolio role."
|
|
166
|
+
},
|
|
167
|
+
"business_model": {
|
|
168
|
+
"type": "array",
|
|
169
|
+
"items": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"pattern": "^[a-z0-9-]+$"
|
|
172
|
+
},
|
|
173
|
+
"description": "Pattern ids from schema/vocab/business-models.json: the St. Gallen Business Model Navigator's 55 (subscription, freemium, add-on and so on) plus named extras such as open-core"
|
|
174
|
+
},
|
|
175
|
+
"allowed_from": {
|
|
176
|
+
"enum": [
|
|
177
|
+
"validation",
|
|
178
|
+
"beachhead",
|
|
179
|
+
"scale",
|
|
180
|
+
"platform"
|
|
181
|
+
],
|
|
182
|
+
"description": "The first phase in which it may lead (a standing decision can hold a product back)"
|
|
183
|
+
},
|
|
184
|
+
"flows_to": {
|
|
185
|
+
"type": "array",
|
|
186
|
+
"items": {
|
|
187
|
+
"type": "string"
|
|
188
|
+
},
|
|
189
|
+
"description": "Products this one sends users, data or revenue to; Product Anatomy computes spillover from these"
|
|
190
|
+
},
|
|
191
|
+
"status": {
|
|
192
|
+
"enum": [
|
|
193
|
+
"idea",
|
|
194
|
+
"building",
|
|
195
|
+
"live",
|
|
196
|
+
"retired"
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
"software": {
|
|
200
|
+
"type": "boolean",
|
|
201
|
+
"description": "The product is, or contains, software the venture builds. Such a product needs a repository, so its venture (or a parent) lists one in repos (EE-020)"
|
|
202
|
+
},
|
|
203
|
+
"repo": {
|
|
204
|
+
"type": "string",
|
|
205
|
+
"description": "The id of the repository in the venture's (or a parent's) repos that holds its code"
|
|
206
|
+
},
|
|
207
|
+
"offered_to": {
|
|
208
|
+
"type": "array",
|
|
209
|
+
"items": {
|
|
210
|
+
"type": "string"
|
|
211
|
+
},
|
|
212
|
+
"description": "The ICP profiles (purpose/icp.json ids) the product is offered to: who buys or adopts it, and so whom its marketing addresses first (EE-064). In a B2B2C or partner-led venture these are the partners, not the partners' customers."
|
|
213
|
+
},
|
|
214
|
+
"serves": {
|
|
215
|
+
"type": "array",
|
|
216
|
+
"items": {
|
|
217
|
+
"type": "string"
|
|
218
|
+
},
|
|
219
|
+
"description": "ICP profiles the product ultimately serves through those it is offered to, such as a partner's own customers (EE-064)"
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
"additionalProperties": false
|
|
223
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "provenance-entry.schema.json",
|
|
4
|
+
"title": "Provenance entry",
|
|
5
|
+
"description": "One line of a venture's provenance log (<venture>/provenance.jsonl, EE-031), after W3C PROV: the entity (a record file) was generated by an activity, attributed to an agent (a person or an AI agent), derived from other entities, under a decision. The log is append-only: each line carries the hash of the line before, so an edited or deleted line breaks the chain. Git history is the implicit provenance for anything written outside the log. schema/check-provenance.mjs checks it.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"at",
|
|
9
|
+
"entity",
|
|
10
|
+
"activity",
|
|
11
|
+
"agent",
|
|
12
|
+
"sha256",
|
|
13
|
+
"prev",
|
|
14
|
+
"hash"
|
|
15
|
+
],
|
|
16
|
+
"additionalProperties": false,
|
|
17
|
+
"properties": {
|
|
18
|
+
"at": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"format": "date-time",
|
|
21
|
+
"description": "When the activity ended (prov:endedAtTime)"
|
|
22
|
+
},
|
|
23
|
+
"entity": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"pattern": "^(?!/)(?!.*\\.\\./).+$",
|
|
26
|
+
"description": "The file written, relative to the venture folder (prov:Entity); for a record kept in another source (EE-037), its address <source>://<path>"
|
|
27
|
+
},
|
|
28
|
+
"route": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "The route the write went through, when it went through the router"
|
|
31
|
+
},
|
|
32
|
+
"activity": {
|
|
33
|
+
"enum": [
|
|
34
|
+
"write",
|
|
35
|
+
"draft",
|
|
36
|
+
"accept",
|
|
37
|
+
"baseline",
|
|
38
|
+
"confirm",
|
|
39
|
+
"move",
|
|
40
|
+
"release"
|
|
41
|
+
],
|
|
42
|
+
"description": "write: written in place. draft: an agent's write to a gated record, held in _drafts/, or any write to a source that takes writes by pull request, held there until the pull request is merged. accept: a person accepted a draft. baseline: a record that existed before the log, adopted with its current content (prov:Activity). confirm: a person confirmed one guiding statement in the record, by typing its id (EE-051); the content is unchanged. move: a file moved to a new path; derived_from names the old path. release: a set of moves recorded as one release"
|
|
43
|
+
},
|
|
44
|
+
"agent": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"required": [
|
|
47
|
+
"kind",
|
|
48
|
+
"via"
|
|
49
|
+
],
|
|
50
|
+
"additionalProperties": false,
|
|
51
|
+
"description": "Who acted (prov:wasAttributedTo / prov:wasAssociatedWith)",
|
|
52
|
+
"properties": {
|
|
53
|
+
"kind": {
|
|
54
|
+
"enum": [
|
|
55
|
+
"person",
|
|
56
|
+
"agent"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"id": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "A person's name or handle, or an agent's role id from the team plan"
|
|
62
|
+
},
|
|
63
|
+
"model": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"description": "An AI agent's model"
|
|
66
|
+
},
|
|
67
|
+
"session": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "A link or id for the session that acted"
|
|
70
|
+
},
|
|
71
|
+
"harness": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "The agent harness, such as Claude Code or Cursor, as it named itself"
|
|
74
|
+
},
|
|
75
|
+
"via": {
|
|
76
|
+
"enum": [
|
|
77
|
+
"cli",
|
|
78
|
+
"mcp",
|
|
79
|
+
"api",
|
|
80
|
+
"router"
|
|
81
|
+
],
|
|
82
|
+
"description": "The interface the write came through"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"derived_from": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "string"
|
|
90
|
+
},
|
|
91
|
+
"description": "What the content came from: venture-relative paths, URLs or decision ids (prov:wasDerivedFrom)"
|
|
92
|
+
},
|
|
93
|
+
"decision": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"description": "The decision or decision class the activity acted under, such as EE-026 or ownership-or-control"
|
|
96
|
+
},
|
|
97
|
+
"note": {
|
|
98
|
+
"type": "string"
|
|
99
|
+
},
|
|
100
|
+
"source": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"required": [
|
|
103
|
+
"id",
|
|
104
|
+
"connector",
|
|
105
|
+
"version"
|
|
106
|
+
],
|
|
107
|
+
"additionalProperties": false,
|
|
108
|
+
"description": "For a record kept outside the venture folder (EE-037): the source it was written to, its version there, and the commit or pull request that holds it",
|
|
109
|
+
"properties": {
|
|
110
|
+
"id": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "The source id from the venture's knowledge/sources.json"
|
|
113
|
+
},
|
|
114
|
+
"connector": {
|
|
115
|
+
"type": "string"
|
|
116
|
+
},
|
|
117
|
+
"version": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"pattern": "^[0-9a-f]{40}$",
|
|
120
|
+
"description": "The git blob SHA-1 of the content as written"
|
|
121
|
+
},
|
|
122
|
+
"commit": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"pattern": "^[0-9a-f]{40}$"
|
|
125
|
+
},
|
|
126
|
+
"pull_request": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"format": "uri",
|
|
129
|
+
"description": "The pull request that accepts the write when it is merged"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"sha256": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"pattern": "^[0-9a-f]{64}$",
|
|
136
|
+
"description": "Hash of the file's content as written"
|
|
137
|
+
},
|
|
138
|
+
"prev": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"pattern": "^([0-9a-f]{64}|genesis)$",
|
|
141
|
+
"description": "The previous line's hash, or genesis for the first line"
|
|
142
|
+
},
|
|
143
|
+
"hash": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"pattern": "^[0-9a-f]{64}$",
|
|
146
|
+
"description": "sha256 of prev followed by this line without its hash field, as JSON with sorted keys"
|
|
147
|
+
},
|
|
148
|
+
"statement": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"pattern": "^[a-z0-9-]+$",
|
|
151
|
+
"description": "confirm only: the id of the guiding statement confirmed (purpose/guiding-statements.json)"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "publication-policy.schema.json",
|
|
4
|
+
"title": "Publication policy",
|
|
5
|
+
"description": "Where a venture publishes and who may publish what there, at <venture>/governance/publication-policy.json (EE-025). Every publication passes the gate: it runs as a handoff under the public-commitment decision class, names its channel, passes the channel's checks and preview, and is approved by a person. Agents may draft and check; they never approve.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"venture",
|
|
9
|
+
"channels"
|
|
10
|
+
],
|
|
11
|
+
"additionalProperties": false,
|
|
12
|
+
"properties": {
|
|
13
|
+
"venture": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"updated": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"format": "date"
|
|
19
|
+
},
|
|
20
|
+
"note": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"teams": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"description": "Groups that draft or approve, such as a marketing team or a governance team. Members are role ids from the role registry.",
|
|
26
|
+
"items": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"required": [
|
|
29
|
+
"id",
|
|
30
|
+
"members"
|
|
31
|
+
],
|
|
32
|
+
"additionalProperties": false,
|
|
33
|
+
"properties": {
|
|
34
|
+
"id": {
|
|
35
|
+
"type": "string"
|
|
36
|
+
},
|
|
37
|
+
"name": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"pillar": {
|
|
41
|
+
"enum": [
|
|
42
|
+
"product",
|
|
43
|
+
"brand",
|
|
44
|
+
"business"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"members": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"minItems": 1,
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"guidelines": {
|
|
58
|
+
"type": "array",
|
|
59
|
+
"description": "The rules a publication must follow: the venture's own (brand guidelines, editorial guidelines) and outside ones (a platform's rules, advertising or disclosure law).",
|
|
60
|
+
"items": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"required": [
|
|
63
|
+
"id",
|
|
64
|
+
"title",
|
|
65
|
+
"kind"
|
|
66
|
+
],
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"properties": {
|
|
69
|
+
"id": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"title": {
|
|
73
|
+
"type": "string"
|
|
74
|
+
},
|
|
75
|
+
"kind": {
|
|
76
|
+
"enum": [
|
|
77
|
+
"brand",
|
|
78
|
+
"editorial",
|
|
79
|
+
"legal",
|
|
80
|
+
"platform",
|
|
81
|
+
"disclosure",
|
|
82
|
+
"security",
|
|
83
|
+
"other"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"owner": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"description": "Pillar or role that keeps it"
|
|
89
|
+
},
|
|
90
|
+
"path": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Relative to the venture folder"
|
|
93
|
+
},
|
|
94
|
+
"url": {
|
|
95
|
+
"type": "string"
|
|
96
|
+
},
|
|
97
|
+
"checked": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"format": "date",
|
|
100
|
+
"description": "When an outside guideline's URL was last checked"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"channels": {
|
|
106
|
+
"type": "array",
|
|
107
|
+
"minItems": 1,
|
|
108
|
+
"items": {
|
|
109
|
+
"type": "object",
|
|
110
|
+
"required": [
|
|
111
|
+
"id",
|
|
112
|
+
"name",
|
|
113
|
+
"kind",
|
|
114
|
+
"destination",
|
|
115
|
+
"rules",
|
|
116
|
+
"checks",
|
|
117
|
+
"preview"
|
|
118
|
+
],
|
|
119
|
+
"additionalProperties": false,
|
|
120
|
+
"properties": {
|
|
121
|
+
"id": {
|
|
122
|
+
"type": "string"
|
|
123
|
+
},
|
|
124
|
+
"name": {
|
|
125
|
+
"type": "string"
|
|
126
|
+
},
|
|
127
|
+
"kind": {
|
|
128
|
+
"enum": [
|
|
129
|
+
"website",
|
|
130
|
+
"docs-site",
|
|
131
|
+
"blog",
|
|
132
|
+
"social",
|
|
133
|
+
"newsletter",
|
|
134
|
+
"email",
|
|
135
|
+
"app-store",
|
|
136
|
+
"press",
|
|
137
|
+
"investor-update",
|
|
138
|
+
"regulatory-filing",
|
|
139
|
+
"open-source-repository",
|
|
140
|
+
"other"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"destination": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "Where it lands: a URL, an account, a repository or a recipient list"
|
|
146
|
+
},
|
|
147
|
+
"audience": {
|
|
148
|
+
"type": "string"
|
|
149
|
+
},
|
|
150
|
+
"guidelines": {
|
|
151
|
+
"type": "array",
|
|
152
|
+
"items": {
|
|
153
|
+
"type": "string"
|
|
154
|
+
},
|
|
155
|
+
"description": "Guideline ids that apply here"
|
|
156
|
+
},
|
|
157
|
+
"rules": {
|
|
158
|
+
"type": "array",
|
|
159
|
+
"minItems": 1,
|
|
160
|
+
"description": "Who may publish what on this channel",
|
|
161
|
+
"items": {
|
|
162
|
+
"type": "object",
|
|
163
|
+
"required": [
|
|
164
|
+
"content",
|
|
165
|
+
"approvers"
|
|
166
|
+
],
|
|
167
|
+
"additionalProperties": false,
|
|
168
|
+
"properties": {
|
|
169
|
+
"content": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "The kind of content, e.g. methodology pages, release notes, a funding announcement"
|
|
172
|
+
},
|
|
173
|
+
"from_layers": {
|
|
174
|
+
"type": "array",
|
|
175
|
+
"items": {
|
|
176
|
+
"enum": [
|
|
177
|
+
"purpose",
|
|
178
|
+
"knowledge",
|
|
179
|
+
"operations",
|
|
180
|
+
"evidence",
|
|
181
|
+
"governance",
|
|
182
|
+
"interface"
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
"description": "The layers whose records it may publish"
|
|
186
|
+
},
|
|
187
|
+
"drafters": {
|
|
188
|
+
"type": "array",
|
|
189
|
+
"items": {
|
|
190
|
+
"type": "string"
|
|
191
|
+
},
|
|
192
|
+
"description": "Role or team ids; agents may draft"
|
|
193
|
+
},
|
|
194
|
+
"approvers": {
|
|
195
|
+
"type": "array",
|
|
196
|
+
"minItems": 1,
|
|
197
|
+
"items": {
|
|
198
|
+
"type": "string"
|
|
199
|
+
},
|
|
200
|
+
"description": "Role or team ids; at least one is a person, and no agent approves"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"checks": {
|
|
206
|
+
"type": "array",
|
|
207
|
+
"minItems": 1,
|
|
208
|
+
"items": {
|
|
209
|
+
"type": "object",
|
|
210
|
+
"required": [
|
|
211
|
+
"id",
|
|
212
|
+
"check"
|
|
213
|
+
],
|
|
214
|
+
"additionalProperties": false,
|
|
215
|
+
"properties": {
|
|
216
|
+
"id": {
|
|
217
|
+
"type": "string"
|
|
218
|
+
},
|
|
219
|
+
"check": {
|
|
220
|
+
"type": "string",
|
|
221
|
+
"description": "A command run from the repository root; for a review, what the reviewer checks"
|
|
222
|
+
},
|
|
223
|
+
"kind": {
|
|
224
|
+
"enum": [
|
|
225
|
+
"conformance",
|
|
226
|
+
"review"
|
|
227
|
+
]
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
"preview": {
|
|
233
|
+
"type": "string",
|
|
234
|
+
"description": "How to see exactly what would go out before it does, e.g. a dry run"
|
|
235
|
+
},
|
|
236
|
+
"config": {
|
|
237
|
+
"type": "string",
|
|
238
|
+
"description": "The channel's tool configuration, relative to the venture folder (e.g. the publisher's allowlist)"
|
|
239
|
+
},
|
|
240
|
+
"platform": {
|
|
241
|
+
"enum": [
|
|
242
|
+
"substack",
|
|
243
|
+
"medium",
|
|
244
|
+
"x",
|
|
245
|
+
"facebook",
|
|
246
|
+
"instagram",
|
|
247
|
+
"threads",
|
|
248
|
+
"linkedin",
|
|
249
|
+
"youtube",
|
|
250
|
+
"tiktok",
|
|
251
|
+
"reddit",
|
|
252
|
+
"bluesky",
|
|
253
|
+
"mastodon",
|
|
254
|
+
"discord",
|
|
255
|
+
"app-store",
|
|
256
|
+
"google-play",
|
|
257
|
+
"github",
|
|
258
|
+
"other"
|
|
259
|
+
],
|
|
260
|
+
"description": "The third-party platform the channel runs on, if any. A channel on a platform cites that platform's rules (a guideline of kind platform)"
|
|
261
|
+
},
|
|
262
|
+
"replies": {
|
|
263
|
+
"type": "object",
|
|
264
|
+
"required": [
|
|
265
|
+
"mode"
|
|
266
|
+
],
|
|
267
|
+
"additionalProperties": false,
|
|
268
|
+
"description": "Required on social, newsletter and blog channels: replies, comments and direct messages speak for the venture in public. gated means each reply passes the gate like any publication; delegated means named people may reply within the guidelines without a handoff each time; none means the venture does not reply there",
|
|
269
|
+
"properties": {
|
|
270
|
+
"mode": {
|
|
271
|
+
"enum": [
|
|
272
|
+
"gated",
|
|
273
|
+
"delegated",
|
|
274
|
+
"none"
|
|
275
|
+
]
|
|
276
|
+
},
|
|
277
|
+
"delegates": {
|
|
278
|
+
"type": "array",
|
|
279
|
+
"items": {
|
|
280
|
+
"type": "string"
|
|
281
|
+
},
|
|
282
|
+
"description": "Role or team ids, when delegated; each must include a person"
|
|
283
|
+
},
|
|
284
|
+
"note": {
|
|
285
|
+
"type": "string"
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "raw-source.schema.json",
|
|
4
|
+
"title": "Raw source",
|
|
5
|
+
"description": "Where a founder-supplied source came from, at raw/sources/<id>/source.json (EE-070). text.md is the text. original.* stays out of git. Raw is immutable.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["id", "origin"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
|
|
11
|
+
"origin": { "type": "string", "description": "Where this source came from: a url, a person, or a note such as founder-supplied" },
|
|
12
|
+
"title": { "type": "string" },
|
|
13
|
+
"fetched": { "type": "string", "format": "date" }
|
|
14
|
+
}
|
|
15
|
+
}
|