@mnstry/atelier 0.2.0-alpha.12 → 0.2.0-alpha.13
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/CHANGELOG.md +661 -0
- package/README.md +142 -6
- package/contracts/atelier-adoption-policy.v2.schema.json +55 -0
- package/contracts/atelier-architecture.v1.schema.json +258 -0
- package/contracts/atelier-boundary-delegations.v1.schema.json +161 -0
- package/contracts/atelier-boundary-owner-keys.v1.schema.json +98 -0
- package/contracts/atelier-build.v1.schema.json +1076 -0
- package/contracts/atelier-capability.v1.schema.json +1252 -0
- package/contracts/atelier-coordination.v1.schema.json +1050 -0
- package/contracts/atelier-evidence-navigation.v1.schema.json +603 -0
- package/contracts/atelier-harness.v1.schema.json +234 -0
- package/contracts/atelier-ingestion.v1.schema.json +806 -0
- package/contracts/atelier-inquiry.v1.schema.json +1772 -0
- package/contracts/atelier-instruction-adoption.v1.schema.json +490 -0
- package/contracts/atelier-interaction.v1.schema.json +553 -0
- package/contracts/atelier-judgment.v1.schema.json +690 -0
- package/contracts/atelier-knowledge.v1.schema.json +1512 -0
- package/contracts/atelier-learning.v1.schema.json +1095 -0
- package/contracts/atelier-migration.v3.schema.json +64 -0
- package/contracts/atelier-personal-workspace-manifest.v1.schema.json +87 -0
- package/contracts/atelier-personal-workspace-overlay.v1.schema.json +299 -0
- package/contracts/atelier-template-adoption.v1.schema.json +223 -0
- package/contracts/atelier-template-profile.v1.schema.json +1168 -0
- package/contracts/atelier-trackable.v1.schema.json +781 -0
- package/contracts/atelier-upgrade-plan.v3.schema.json +532 -0
- package/docs/architecture.md +89 -0
- package/docs/assurance-controls.md +2 -2
- package/docs/blocks/capability-stewardship.md +17 -0
- package/docs/blocks/claims.md +16 -3
- package/docs/blocks/inquiry-harnesses.md +19 -0
- package/docs/blocks/learning-harnesses.md +17 -0
- package/docs/capability-stewardship.md +269 -0
- package/docs/coordination.md +51 -0
- package/docs/decision-practices.md +111 -0
- package/docs/decisions.md +29 -0
- package/docs/evidence-navigation.md +237 -0
- package/docs/exact-upgrades.md +3 -2
- package/docs/ingestion.md +181 -0
- package/docs/inquiry-harnesses.md +211 -0
- package/docs/install.md +80 -3
- package/docs/intake-and-guides.md +5 -0
- package/docs/integration-contract-decisions.md +24 -2
- package/docs/interaction-and-reflection.md +72 -0
- package/docs/knowledge-graph.md +20 -0
- package/docs/knowledge-health/api.md +30 -0
- package/docs/knowledge-health/assessment/api.md +96 -0
- package/docs/knowledge-health/assessment/capabilities.md +40 -0
- package/docs/knowledge-health/assessment/evaluation.md +27 -0
- package/docs/knowledge-health/assessment/facilitator.md +30 -0
- package/docs/knowledge-health/assessment/quickstart.md +61 -0
- package/docs/knowledge-health/assessment/troubleshooting.md +23 -0
- package/docs/knowledge-health/devday/facilitator.md +16 -0
- package/docs/knowledge-health/devday/participant-response.md +22 -0
- package/docs/knowledge-health/devday/public-default.md +107 -0
- package/docs/knowledge-health/devday/quickstart.md +18 -0
- package/docs/knowledge-health/devday/support.md +22 -0
- package/docs/knowledge-health/exercise.md +17 -0
- package/docs/knowledge-health/facilitator.md +20 -0
- package/docs/knowledge-health/quickstart.md +94 -0
- package/docs/knowledge-health/readme.md +15 -0
- package/docs/knowledge-health/support.md +34 -0
- package/docs/knowledge-setup.md +248 -0
- package/docs/knowledge-workspace.md +264 -0
- package/docs/learning-harnesses.md +238 -0
- package/docs/learning.md +215 -0
- package/docs/local-services.md +181 -16
- package/docs/obsidian-contract.md +223 -15
- package/docs/obsidian-plugin.md +38 -4
- package/docs/obsidian.md +613 -51
- package/docs/optional-ingestion.md +83 -0
- package/docs/personal-workspace.md +257 -0
- package/docs/practical-judgment.md +92 -0
- package/docs/progressive-ingestion-acceptance.md +89 -0
- package/docs/progressive-ingestion.md +235 -0
- package/docs/project-command-inventory.md +1 -0
- package/docs/release-engineering.md +49 -0
- package/docs/repo-boundary-guard.md +94 -0
- package/docs/research-starter-quickstart.md +66 -0
- package/docs/research-starter.md +114 -0
- package/docs/semantic-ingestion.md +198 -0
- package/docs/semantic-operation.md +317 -0
- package/docs/skill-steward.md +6 -0
- package/docs/template-profile.md +164 -0
- package/docs/template-upgrades.md +114 -0
- package/docs/trackables.md +111 -0
- package/docs/upgrade.md +47 -2
- package/fixtures/atelier-architecture/binding/invalid/document.json +19 -0
- package/fixtures/atelier-architecture/binding/valid/document.json +19 -0
- package/fixtures/atelier-architecture/catalog/invalid/document.json +290 -0
- package/fixtures/atelier-architecture/catalog/valid/document.json +343 -0
- package/fixtures/atelier-build-contract/attempt/invalid/document.json +20 -0
- package/fixtures/atelier-build-contract/attempt/valid/document.json +19 -0
- package/fixtures/atelier-build-contract/candidate/invalid/document.json +24 -0
- package/fixtures/atelier-build-contract/candidate/valid/document.json +23 -0
- package/fixtures/atelier-build-contract/decision/invalid/document.json +31 -0
- package/fixtures/atelier-build-contract/decision/valid/document.json +30 -0
- package/fixtures/atelier-build-contract/delivery/invalid/document.json +18 -0
- package/fixtures/atelier-build-contract/delivery/valid/document.json +17 -0
- package/fixtures/atelier-build-contract/gate/invalid/document.json +22 -0
- package/fixtures/atelier-build-contract/gate/valid/document.json +21 -0
- package/fixtures/atelier-build-contract/ledger/invalid/document.json +270 -0
- package/fixtures/atelier-build-contract/ledger/valid/document.json +269 -0
- package/fixtures/atelier-build-contract/objective/invalid/document.json +73 -0
- package/fixtures/atelier-build-contract/objective/valid/document.json +72 -0
- package/fixtures/atelier-build-contract/progress/invalid/document.json +18 -0
- package/fixtures/atelier-build-contract/progress/valid/document.json +17 -0
- package/fixtures/atelier-capability-contract/adoption/invalid/document.json +71 -0
- package/fixtures/atelier-capability-contract/adoption/valid/document.json +70 -0
- package/fixtures/atelier-capability-contract/event/invalid/document.json +18 -0
- package/fixtures/atelier-capability-contract/event/valid/document.json +17 -0
- package/fixtures/atelier-capability-contract/journal/invalid/document.json +382 -0
- package/fixtures/atelier-capability-contract/journal/valid/document.json +381 -0
- package/fixtures/atelier-capability-contract/notice/invalid/document.json +8 -0
- package/fixtures/atelier-capability-contract/notice/valid/document.json +7 -0
- package/fixtures/atelier-capability-contract/package/invalid/document.json +59 -0
- package/fixtures/atelier-capability-contract/package/valid/document.json +58 -0
- package/fixtures/atelier-capability-contract/plan/invalid/document.json +107 -0
- package/fixtures/atelier-capability-contract/plan/valid/document.json +106 -0
- package/fixtures/atelier-capability-contract/release/invalid/document.json +85 -0
- package/fixtures/atelier-capability-contract/release/valid/document.json +84 -0
- package/fixtures/atelier-capability-contract/state/invalid/document.json +316 -0
- package/fixtures/atelier-capability-contract/state/valid/document.json +315 -0
- package/fixtures/atelier-coordination/dependency/invalid/document.json +37 -0
- package/fixtures/atelier-coordination/dependency/valid/document.json +36 -0
- package/fixtures/atelier-coordination/directive/invalid/document.json +25 -0
- package/fixtures/atelier-coordination/directive/valid/document.json +24 -0
- package/fixtures/atelier-coordination/disposition/invalid/document.json +34 -0
- package/fixtures/atelier-coordination/disposition/valid/document.json +33 -0
- package/fixtures/atelier-coordination/outcome/invalid/document.json +39 -0
- package/fixtures/atelier-coordination/outcome/valid/document.json +38 -0
- package/fixtures/atelier-coordination/recovery/invalid/document.json +34 -0
- package/fixtures/atelier-coordination/recovery/valid/document.json +33 -0
- package/fixtures/atelier-harness-contract/handoff/invalid/document.json +25 -0
- package/fixtures/atelier-harness-contract/handoff/valid/document.json +24 -0
- package/fixtures/atelier-ingestion/invalid/authority.json +19 -0
- package/fixtures/atelier-ingestion/semantic-baseline.json +26 -0
- package/fixtures/atelier-ingestion/semantic-operation.json +75 -0
- package/fixtures/atelier-ingestion/valid/plan-input.json +18 -0
- package/fixtures/atelier-inquiry-contract/assessment/invalid/document.json +41 -0
- package/fixtures/atelier-inquiry-contract/assessment/valid/document.json +40 -0
- package/fixtures/atelier-inquiry-contract/bundle/invalid/document.json +51 -0
- package/fixtures/atelier-inquiry-contract/bundle/valid/document.json +50 -0
- package/fixtures/atelier-inquiry-contract/campaign/invalid/document.json +17 -0
- package/fixtures/atelier-inquiry-contract/campaign/valid/document.json +16 -0
- package/fixtures/atelier-inquiry-contract/decision/invalid/document.json +22 -0
- package/fixtures/atelier-inquiry-contract/decision/valid/document.json +21 -0
- package/fixtures/atelier-inquiry-contract/feedback/invalid/document.json +19 -0
- package/fixtures/atelier-inquiry-contract/feedback/valid/document.json +18 -0
- package/fixtures/atelier-inquiry-contract/handoff/invalid/document.json +92 -0
- package/fixtures/atelier-inquiry-contract/handoff/valid/document.json +91 -0
- package/fixtures/atelier-inquiry-contract/hypothesis/invalid/document.json +20 -0
- package/fixtures/atelier-inquiry-contract/hypothesis/valid/document.json +19 -0
- package/fixtures/atelier-inquiry-contract/ledger/invalid/document.json +680 -0
- package/fixtures/atelier-inquiry-contract/ledger/valid/document.json +679 -0
- package/fixtures/atelier-inquiry-contract/legacy-assessment/invalid/document.json +19 -0
- package/fixtures/atelier-inquiry-contract/legacy-assessment/valid/document.json +18 -0
- package/fixtures/atelier-inquiry-contract/request/invalid/document.json +50 -0
- package/fixtures/atelier-inquiry-contract/request/valid/document.json +49 -0
- package/fixtures/atelier-inquiry-contract/source/invalid/document.json +18 -0
- package/fixtures/atelier-inquiry-contract/source/valid/document.json +17 -0
- package/fixtures/atelier-inquiry-contract/withdrawal/invalid/document.json +16 -0
- package/fixtures/atelier-inquiry-contract/withdrawal/valid/document.json +15 -0
- package/fixtures/atelier-instruction-adoption/context-receipt/invalid/document.json +18 -0
- package/fixtures/atelier-instruction-adoption/context-receipt/valid/document.json +17 -0
- package/fixtures/atelier-instruction-adoption/plan/invalid/document.json +63 -0
- package/fixtures/atelier-instruction-adoption/plan/valid/document.json +62 -0
- package/fixtures/atelier-instruction-adoption/receipt/invalid/document.json +22 -0
- package/fixtures/atelier-instruction-adoption/receipt/valid/document.json +21 -0
- package/fixtures/atelier-instruction-adoption/state/invalid/document.json +30 -0
- package/fixtures/atelier-instruction-adoption/state/valid/document.json +29 -0
- package/fixtures/atelier-interaction/act/invalid/document.json +25 -0
- package/fixtures/atelier-interaction/act/valid/document.json +24 -0
- package/fixtures/atelier-interaction/assessment/invalid/document.json +32 -0
- package/fixtures/atelier-interaction/assessment/valid/document.json +31 -0
- package/fixtures/atelier-interaction/observation/invalid/document.json +22 -0
- package/fixtures/atelier-interaction/observation/valid/document.json +21 -0
- package/fixtures/atelier-interaction/policy/invalid/document.json +20 -0
- package/fixtures/atelier-interaction/policy/valid/document.json +19 -0
- package/fixtures/atelier-judgment/case/invalid/document.json +76 -0
- package/fixtures/atelier-judgment/case/valid/document.json +75 -0
- package/fixtures/atelier-judgment/decision/invalid/document.json +38 -0
- package/fixtures/atelier-judgment/decision/valid/document.json +37 -0
- package/fixtures/atelier-judgment/native-decision.md +3 -0
- package/fixtures/atelier-judgment/practice-reconsideration/definition.json +92 -0
- package/fixtures/atelier-judgment/practice-reconsideration/scenario.json +435 -0
- package/fixtures/atelier-knowledge-contract/activation/invalid/document.json +26 -0
- package/fixtures/atelier-knowledge-contract/activation/valid/document.json +25 -0
- package/fixtures/atelier-knowledge-contract/contribution/invalid/document.json +34 -0
- package/fixtures/atelier-knowledge-contract/contribution/valid/document.json +33 -0
- package/fixtures/atelier-knowledge-contract/domain/invalid/document.json +41 -0
- package/fixtures/atelier-knowledge-contract/domain/valid/document.json +40 -0
- package/fixtures/atelier-knowledge-contract/domain-revision/invalid/document.json +46 -0
- package/fixtures/atelier-knowledge-contract/domain-revision/valid/document.json +45 -0
- package/fixtures/atelier-knowledge-contract/evaluation/invalid/document.json +21 -0
- package/fixtures/atelier-knowledge-contract/evaluation/valid/document.json +20 -0
- package/fixtures/atelier-knowledge-contract/ledger/invalid/document.json +318 -0
- package/fixtures/atelier-knowledge-contract/ledger/valid/document.json +317 -0
- package/fixtures/atelier-knowledge-contract/relation/invalid/document.json +25 -0
- package/fixtures/atelier-knowledge-contract/relation/valid/document.json +24 -0
- package/fixtures/atelier-knowledge-contract/review/invalid/document.json +18 -0
- package/fixtures/atelier-knowledge-contract/review/valid/document.json +17 -0
- package/fixtures/atelier-knowledge-contract/withdrawal/invalid/document.json +16 -0
- package/fixtures/atelier-knowledge-contract/withdrawal/valid/document.json +15 -0
- package/fixtures/atelier-learning/invalid/authority.json +14 -0
- package/fixtures/atelier-learning/valid/capture.json +13 -0
- package/fixtures/atelier-personal-workspace-contract/manifest/invalid/authority-key.json +17 -0
- package/fixtures/atelier-personal-workspace-contract/manifest/invalid/nonempty-ext.json +25 -0
- package/fixtures/atelier-personal-workspace-contract/manifest/invalid/wrong-schema.json +22 -0
- package/fixtures/atelier-personal-workspace-contract/manifest/valid/manifest.json +22 -0
- package/fixtures/atelier-personal-workspace-contract/overlay/invalid/authority-key.json +25 -0
- package/fixtures/atelier-personal-workspace-contract/overlay/invalid/unknown-top-level-field.json +27 -0
- package/fixtures/atelier-personal-workspace-contract/overlay/invalid/wrong-schema.json +24 -0
- package/fixtures/atelier-trackable/definition/invalid/document.json +15 -0
- package/fixtures/atelier-trackable/definition/valid/document.json +14 -0
- package/fixtures/atelier-trackable/request/invalid/document.json +23 -0
- package/fixtures/atelier-trackable/request/valid/document.json +22 -0
- package/fixtures/boundary-delegations/invalid/authority-key.v1.json +30 -0
- package/fixtures/boundary-delegations/invalid/push-operation.v1.json +28 -0
- package/fixtures/boundary-delegations/invalid/unsigned.v1.json +25 -0
- package/fixtures/boundary-delegations/valid/empty.v1.json +4 -0
- package/fixtures/boundary-delegations/valid/signed-operator.v1.json +30 -0
- package/fixtures/boundary-owner-keys/invalid/wrong-algorithm.v1.json +15 -0
- package/fixtures/boundary-owner-keys/invalid/wrong-curve.v1.json +15 -0
- package/fixtures/boundary-owner-keys/valid/one-owner.v1.json +17 -0
- package/fixtures/capability-packages/adoption.example.json +70 -0
- package/fixtures/capability-packages/evidence-review/capability-package.json +58 -0
- package/fixtures/capability-packages/evidence-review/capability-release.json +84 -0
- package/fixtures/capability-packages/evidence-review/evaluation.md +15 -0
- package/fixtures/capability-packages/evidence-review/skills/evidence-review/SKILL.md +22 -0
- package/fixtures/capability-packages/evidence-review/skills/evidence-review/references/ledger.md +7 -0
- package/fixtures/capability-packages/research/capability-package.json +88 -0
- package/fixtures/capability-packages/research/capability-release.json +134 -0
- package/fixtures/capability-packages/research/evaluation.md +15 -0
- package/fixtures/capability-packages/research/skills/research-integrate/SKILL.md +29 -0
- package/fixtures/capability-packages/research/skills/research-integrate/references/integration.md +10 -0
- package/fixtures/capability-packages/research/skills/research-plan/SKILL.md +27 -0
- package/fixtures/capability-packages/research/skills/research-plan/references/inquiries.md +26 -0
- package/fixtures/capability-packages/research/skills/research-synthesize/SKILL.md +23 -0
- package/fixtures/capability-packages/research/skills/research-synthesize/references/synthesis.md +12 -0
- package/fixtures/evidence-navigation/invalid/duplicate-operation.json +16 -0
- package/fixtures/evidence-navigation/invalid/instruction-kind.json +36 -0
- package/fixtures/evidence-navigation/invalid/invalid-digest.json +36 -0
- package/fixtures/evidence-navigation/invalid/invalid-time.json +36 -0
- package/fixtures/evidence-navigation/invalid/missing-attribution.json +35 -0
- package/fixtures/evidence-navigation/invalid/reserved-extension.json +19 -0
- package/fixtures/evidence-navigation/invalid/unattributed-acceptance.json +36 -0
- package/fixtures/evidence-navigation/invalid/uncoerced-version.json +16 -0
- package/fixtures/evidence-navigation/invalid/unknown-currency.json +17 -0
- package/fixtures/evidence-navigation/invalid/unknown-selector-field.json +37 -0
- package/fixtures/evidence-navigation/invalid/unsupported-operation.json +15 -0
- package/fixtures/evidence-navigation/valid/claim.json +36 -0
- package/fixtures/evidence-navigation/valid/host.json +16 -0
- package/fixtures/evidence-navigation/valid/profile.json +16 -0
- package/fixtures/evidence-navigation/valid/snapshot.json +17 -0
- package/fixtures/harness-packages/build-harness/capability-package.json +61 -0
- package/fixtures/harness-packages/build-harness/capability-release.json +82 -0
- package/fixtures/harness-packages/build-harness/evaluation.md +3 -0
- package/fixtures/harness-packages/build-harness/skills/atelier-build-harness/SKILL.md +59 -0
- package/fixtures/harness-packages/knowledge-harness/capability-package.json +61 -0
- package/fixtures/harness-packages/knowledge-harness/capability-release.json +82 -0
- package/fixtures/harness-packages/knowledge-harness/evaluation.md +3 -0
- package/fixtures/harness-packages/knowledge-harness/skills/atelier-knowledge-harness/SKILL.md +60 -0
- package/fixtures/harnesses/learning-cycle.json +780 -0
- package/fixtures/inquiry/workshop.json +675 -0
- package/fixtures/inquiry-packages/discovery-harness/capability-package.json +61 -0
- package/fixtures/inquiry-packages/discovery-harness/capability-release.json +82 -0
- package/fixtures/inquiry-packages/discovery-harness/evaluation.md +3 -0
- package/fixtures/inquiry-packages/discovery-harness/skills/atelier-discovery-harness/SKILL.md +48 -0
- package/fixtures/inquiry-packages/research-harness/capability-package.json +61 -0
- package/fixtures/inquiry-packages/research-harness/capability-release.json +82 -0
- package/fixtures/inquiry-packages/research-harness/evaluation.md +3 -0
- package/fixtures/inquiry-packages/research-harness/skills/atelier-research-harness/SKILL.md +43 -0
- package/fixtures/knowledge-health/calibration-suite.json +26 -0
- package/fixtures/knowledge-health/calibration-trial.json +37 -0
- package/fixtures/knowledge-health/corrected/checklist.md +18 -0
- package/fixtures/knowledge-health/devday/participant-record.json +19 -0
- package/fixtures/knowledge-health/expected-summary.json +27 -0
- package/fixtures/knowledge-health/workshop/README.md +20 -0
- package/fixtures/knowledge-health/workshop/atelier.project.json +7 -0
- package/fixtures/knowledge-health/workshop/knowledge-plan.json +65 -0
- package/fixtures/knowledge-health/workshop/records/checklist.md +18 -0
- package/fixtures/knowledge-health/workshop/records/workshop.md +18 -0
- package/fixtures/knowledge-health/workshop/repo-access.v1.json +5 -0
- package/fixtures/knowledge-health/workspace/atelier.project.json +18 -0
- package/fixtures/knowledge-health/workspace/knowledge-plan.json +74 -0
- package/fixtures/knowledge-health/workspace/records/checklist.md +18 -0
- package/fixtures/knowledge-health/workspace/records/pilot.md +16 -0
- package/fixtures/knowledge-health/workspace/repo-access.v1.json +9 -0
- package/fixtures/personal-workspace/overlay.json +24 -0
- package/fixtures/templates/local-library.v1.json +75 -0
- package/fixtures/templates/upgrade-contracts/adoption-policy.v2/invalid.json +16 -0
- package/fixtures/templates/upgrade-contracts/adoption-policy.v2/valid.json +13 -0
- package/fixtures/templates/upgrade-contracts/migration.v3/invalid.json +24 -0
- package/fixtures/templates/upgrade-contracts/migration.v3/valid.json +21 -0
- package/fixtures/templates/upgrade-contracts/template-adoption.v1/invalid.json +60 -0
- package/fixtures/templates/upgrade-contracts/template-adoption.v1/valid.json +57 -0
- package/fixtures/templates/upgrade-contracts/upgrade-plan.v3/invalid.json +85 -0
- package/fixtures/templates/upgrade-contracts/upgrade-plan.v3/valid.json +82 -0
- package/package.json +59 -5
- package/skills/claude/atelier-build-harness/SKILL.md +59 -0
- package/skills/claude/atelier-coordination/SKILL.md +32 -0
- package/skills/claude/atelier-discovery-harness/SKILL.md +48 -0
- package/skills/claude/atelier-guided-upgrade/SKILL.md +29 -0
- package/skills/claude/atelier-interaction/SKILL.md +34 -0
- package/skills/claude/atelier-knowledge-harness/SKILL.md +60 -0
- package/skills/claude/atelier-knowledge-setup/SKILL.md +72 -0
- package/skills/claude/atelier-practical-judgment/SKILL.md +64 -0
- package/skills/claude/atelier-research-harness/SKILL.md +43 -0
- package/skills/claude/atelier-skill-steward/SKILL.md +53 -0
- package/skills/claude/atelier-trackables/SKILL.md +40 -0
- package/skills/codex/atelier-build-harness/SKILL.md +59 -0
- package/skills/codex/atelier-coordination/SKILL.md +32 -0
- package/skills/codex/atelier-discovery-harness/SKILL.md +48 -0
- package/skills/codex/atelier-guided-upgrade/SKILL.md +29 -0
- package/skills/codex/atelier-interaction/SKILL.md +34 -0
- package/skills/codex/atelier-knowledge-harness/SKILL.md +60 -0
- package/skills/codex/atelier-knowledge-setup/SKILL.md +72 -0
- package/skills/codex/atelier-practical-judgment/SKILL.md +64 -0
- package/skills/codex/atelier-research-harness/SKILL.md +43 -0
- package/skills/codex/atelier-skill-steward/SKILL.md +53 -0
- package/skills/codex/atelier-trackables/SKILL.md +40 -0
- package/src/architecture/catalog.mjs +355 -0
- package/src/architecture/index.mjs +93 -0
- package/src/boundary/content-rules.mjs +4 -2
- package/src/boundary/delegation-command.mjs +158 -0
- package/src/boundary/delegation.mjs +396 -0
- package/src/boundary/policy.mjs +52 -10
- package/src/build/git.mjs +18 -0
- package/src/build/index.mjs +3 -0
- package/src/build/ledger.mjs +88 -0
- package/src/capabilities/adoption.mjs +381 -0
- package/src/capabilities/evidence.mjs +140 -0
- package/src/capabilities/files.mjs +124 -0
- package/src/capabilities/index.mjs +4 -0
- package/src/capabilities/instructions.mjs +250 -0
- package/src/capabilities/package.mjs +136 -0
- package/src/cli/command-failure.mjs +36 -0
- package/src/cli/execute-command.mjs +16 -2
- package/src/cli/run.mjs +65 -9
- package/src/coauthor/store.mjs +43 -2
- package/src/collaboration/proposals.mjs +189 -0
- package/src/commands/architecture.mjs +27 -0
- package/src/commands/boundary.mjs +3 -0
- package/src/commands/capability.mjs +73 -0
- package/src/commands/enroll.mjs +3 -0
- package/src/commands/harness.mjs +79 -0
- package/src/commands/ingest.mjs +39 -0
- package/src/commands/init.mjs +4 -1
- package/src/commands/inquiry.mjs +66 -0
- package/src/commands/knowledge-semantic.mjs +128 -0
- package/src/commands/knowledge.mjs +119 -0
- package/src/commands/learn.mjs +61 -0
- package/src/commands/obsidian.mjs +754 -63
- package/src/commands/practice.mjs +24 -0
- package/src/commands/setup.mjs +22 -2
- package/src/commands/trackable.mjs +19 -0
- package/src/contracts/corpus.mjs +30 -0
- package/src/coordination/index.mjs +110 -0
- package/src/evidence-navigation/contracts.mjs +60 -0
- package/src/evidence-navigation/evaluate.mjs +69 -0
- package/src/evidence-navigation/generation.mjs +22 -0
- package/src/evidence-navigation/index.mjs +2 -0
- package/src/evidence-navigation/local.mjs +167 -0
- package/src/evidence-navigation/schema.generated.mjs +604 -0
- package/src/evidence-navigation/types.mjs +12 -0
- package/src/export/atelier-export-contract.mjs +35 -8
- package/src/graph/enroll.mjs +248 -0
- package/src/graph/graph.mjs +17 -1
- package/src/graph/knowledge-graph.mjs +58 -8
- package/src/harnesses/contracts.mjs +41 -0
- package/src/harnesses/exchange.mjs +154 -0
- package/src/harnesses/feedback.mjs +16 -0
- package/src/harnesses/history.mjs +37 -0
- package/src/harnesses/index.mjs +4 -0
- package/src/harnesses/store.mjs +29 -0
- package/src/ingestion/contracts.mjs +41 -0
- package/src/ingestion/evaluation.mjs +119 -0
- package/src/ingestion/optional/composition/index.mjs +171 -0
- package/src/ingestion/optional/evaluation/index.mjs +219 -0
- package/src/ingestion/optional/graphify/composition-binding.mjs +60 -0
- package/src/ingestion/optional/graphify/composition_receiving.py +185 -0
- package/src/ingestion/optional/graphify/graphify_supplier.py +933 -0
- package/src/ingestion/optional/graphify/json_bridge.py +163 -0
- package/src/ingestion/optional/graphify/query_receiving.py +209 -0
- package/src/ingestion/optional/index.mjs +9 -0
- package/src/ingestion/optional/jev/bridge.mjs +166 -0
- package/src/ingestion/optional/jev/composition-binding.mjs +116 -0
- package/src/ingestion/optional/jev/judgments.mjs +174 -0
- package/src/ingestion/optional/jev/native-translation.mjs +32 -0
- package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/__init__.py +7 -0
- package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/adapter.py +966 -0
- package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/artifacts.py +101 -0
- package/src/ingestion/optional/lightrag/atelier_lightrag_supplier/projection.py +146 -0
- package/src/ingestion/optional/lightrag/composition-binding.mjs +67 -0
- package/src/ingestion/optional/vanilla/composition-binding.mjs +102 -0
- package/src/ingestion/optional/vanilla/index.mjs +218 -0
- package/src/ingestion/optional/vanilla/native-normalization.mjs +187 -0
- package/src/ingestion/processors.mjs +218 -0
- package/src/ingestion/semantic.mjs +203 -0
- package/src/ingestion/store.mjs +372 -0
- package/src/inquiry/beliefs.mjs +32 -0
- package/src/inquiry/contracts.mjs +23 -0
- package/src/inquiry/index.mjs +5 -0
- package/src/inquiry/ledger.mjs +135 -0
- package/src/inquiry/lenses.mjs +15 -0
- package/src/inquiry/projection.mjs +77 -0
- package/src/inquiry/store.mjs +35 -0
- package/src/intake/read-scope.mjs +12 -0
- package/src/intake/store.mjs +69 -6
- package/src/interaction/index.mjs +91 -0
- package/src/judgment/index.mjs +82 -0
- package/src/judgment/practice-evaluation.mjs +70 -0
- package/src/judgment/practice.mjs +144 -0
- package/src/knowledge/context.mjs +217 -0
- package/src/knowledge/index.mjs +5 -0
- package/src/knowledge/ingestion.mjs +79 -0
- package/src/knowledge/intake.mjs +33 -0
- package/src/knowledge/ledger.mjs +110 -0
- package/src/knowledge/participatory/guidance.mjs +36 -0
- package/src/knowledge/participatory/guided-contribution.mjs +44 -0
- package/src/knowledge/participatory/index.mjs +2 -0
- package/src/knowledge/participatory/installed-workshop.mjs +108 -0
- package/src/knowledge/plan.mjs +67 -0
- package/src/knowledge/projection.mjs +43 -0
- package/src/knowledge/semantic-operation.mjs +567 -0
- package/src/knowledge/sessions.mjs +467 -0
- package/src/knowledge/workspace.mjs +295 -0
- package/src/knowledge-health/assessment.mjs +165 -0
- package/src/knowledge-health/capabilities.mjs +350 -0
- package/src/knowledge-health/context.mjs +62 -0
- package/src/knowledge-health/example.mjs +47 -0
- package/src/knowledge-health/index.mjs +10 -0
- package/src/knowledge-health/owner-join.mjs +88 -0
- package/src/knowledge-health/proof/common.mjs +24 -0
- package/src/knowledge-health/proof/installed-check.mjs +100 -0
- package/src/knowledge-health/proof/native-readback.mjs +37 -0
- package/src/knowledge-health/proof/rehearse.mjs +68 -0
- package/src/knowledge-health/proof/validate-participant.mjs +17 -0
- package/src/knowledge-health/proof/verify-native-capture.mjs +14 -0
- package/src/knowledge-health/proof/workshop-check.mjs +36 -0
- package/src/knowledge-health/rule-identity.mjs +44 -0
- package/src/knowledge-health/workshop-composition.mjs +19 -0
- package/src/knowledge-health/workshop-profile.mjs +176 -0
- package/src/knowledge-health/workshop.mjs +99 -0
- package/src/learning/adapters.mjs +68 -0
- package/src/learning/assistance.mjs +127 -0
- package/src/learning/contracts.mjs +65 -0
- package/src/learning/store.mjs +272 -0
- package/src/personal-workspace/index.mjs +391 -0
- package/src/personal-workspace/selection.mjs +385 -0
- package/src/project/config.mjs +8 -0
- package/src/project/durable-state.mjs +3 -1
- package/src/project/file-class.mjs +1 -1
- package/src/projection/obsidian/edits/apply.mjs +55 -16
- package/src/projection/obsidian/personal-workspace.mjs +436 -0
- package/src/projection/obsidian/proposals/adapter.mjs +47 -8
- package/src/projection/obsidian/proposals/observation.mjs +10 -2
- package/src/projection/obsidian/publication/publisher.mjs +142 -13
- package/src/projection/obsidian/publication/vault-list.mjs +4 -3
- package/src/projection/obsidian/recovery/index.mjs +4 -1
- package/src/projection/obsidian/recovery/store.mjs +160 -7
- package/src/projection/obsidian/selection-ui/contribution.mjs +6 -5
- package/src/readiness/readiness.mjs +10 -3
- package/src/reflection/index.mjs +56 -0
- package/src/runtime/obsidian/app-production-seams.mjs +48 -16
- package/src/runtime/obsidian/app-registration.mjs +175 -28
- package/src/runtime/obsidian/app-restart.mjs +154 -0
- package/src/runtime/obsidian/engine.mjs +163 -20
- package/src/runtime/obsidian/extension-points.mjs +1 -1
- package/src/runtime/obsidian/index.mjs +10 -7
- package/src/runtime/obsidian/launch-plan.mjs +7 -4
- package/src/runtime/obsidian/lifecycle.mjs +92 -12
- package/src/runtime/obsidian/login-item.mjs +332 -0
- package/src/runtime/obsidian/machine-settings.mjs +119 -12
- package/src/runtime/obsidian/opening.mjs +171 -37
- package/src/runtime/obsidian/pipeline.mjs +71 -3
- package/src/runtime/obsidian/plugin-channel.mjs +11 -3
- package/src/runtime/obsidian/plugin-choice.mjs +16 -4
- package/src/runtime/obsidian/plugin-drift.mjs +59 -11
- package/src/runtime/obsidian/plugin-presence.mjs +14 -1
- package/src/runtime/obsidian/process-identity.mjs +20 -10
- package/src/runtime/obsidian/project-views.mjs +282 -0
- package/src/runtime/obsidian/questions.mjs +48 -0
- package/src/runtime/obsidian/release-watch.mjs +56 -0
- package/src/runtime/obsidian/service-main.mjs +99 -16
- package/src/runtime/obsidian/service-manager-production.mjs +61 -0
- package/src/runtime/obsidian/service-managers.mjs +275 -0
- package/src/runtime/obsidian/service-record.mjs +87 -23
- package/src/runtime/obsidian/service.mjs +36 -3
- package/src/runtime/obsidian/startup-adapters.mjs +59 -21
- package/src/runtime/obsidian/unheld-evidence.mjs +84 -0
- package/src/runtime/obsidian/vault-location.mjs +300 -0
- package/src/runtime/obsidian/view-counts.mjs +34 -0
- package/src/server/local-sidecar.mjs +169 -2
- package/src/server/server.mjs +28 -2
- package/src/template-bindings/project.mjs +92 -0
- package/src/templates/profile.mjs +225 -0
- package/src/trackables/domain.mjs +175 -0
- package/src/trackables/store.mjs +114 -0
- package/src/ui/knowledge-page.mjs +1388 -0
- package/src/upgrade/explanation.mjs +1 -1
- package/src/upgrade/template-participant.mjs +171 -0
- package/src/upgrade/transaction.mjs +72 -25
- package/src/upgrade/upgrade.mjs +1 -0
- package/templates/external-project-workspace/pack-lifecycle.json +6 -1
- package/templates/knowledge-workspace/.gitattributes +2 -0
- package/templates/knowledge-workspace/AGENTS.md +27 -0
- package/templates/knowledge-workspace/README.md +44 -0
- package/templates/knowledge-workspace/atelier.project.json +22 -0
- package/templates/knowledge-workspace/gitignore +6 -0
- package/templates/knowledge-workspace/knowledge-plan.json +111 -0
- package/templates/knowledge-workspace/knowledge-plan.schema.json +281 -0
- package/templates/knowledge-workspace/records/forecast.md +22 -0
- package/templates/knowledge-workspace/records/inspection.md +25 -0
- package/templates/knowledge-workspace/records/telescope.md +24 -0
- package/templates/knowledge-workspace/repo-access.v1.json +9 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
# Knowledge workspaces and guided coauthoring
|
|
2
|
+
|
|
3
|
+
The experimental knowledge workspace connects five reusable dashboards to the
|
|
4
|
+
same source-bound private drafts used by people and agents. Human planning sets
|
|
5
|
+
the task, assisted drafting works from evidence, and human review determines
|
|
6
|
+
what may enter the canonical plan or become an action.
|
|
7
|
+
|
|
8
|
+
Start with one consequential question, a permitted source, and a reviewer.
|
|
9
|
+
Expand when a demonstrated task needs more knowledge. Graph size is not the
|
|
10
|
+
success measure.
|
|
11
|
+
|
|
12
|
+
## Open a workspace
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
atelier init --template knowledge-workspace --target my-workspace
|
|
16
|
+
cd my-workspace
|
|
17
|
+
git init
|
|
18
|
+
atelier knowledge check
|
|
19
|
+
atelier graph
|
|
20
|
+
atelier build
|
|
21
|
+
atelier dev --knowledge
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Open `/knowledge` at the printed loopback address. This uses the existing
|
|
25
|
+
foreground sidecar and its manifest, host, origin, and nonce controls. Stop it
|
|
26
|
+
with Ctrl-C; restart the same command to resume saved sessions. `--port=0`
|
|
27
|
+
chooses a free port. It installs no background or operating-system service.
|
|
28
|
+
The template is an invented equipment library. Replace its purpose, roles,
|
|
29
|
+
sources, concepts, relations, and questions before operational use.
|
|
30
|
+
|
|
31
|
+
An existing enrolled project needs a valid `knowledge-plan.json` beside its
|
|
32
|
+
project configuration. Use the schema and guide in
|
|
33
|
+
[knowledge setup](knowledge-setup.md). Rebuild the projection when its source
|
|
34
|
+
changes. The knowledge panels read the current enrolled graph on request; the
|
|
35
|
+
ordinary projection remains the last explicitly built projection.
|
|
36
|
+
|
|
37
|
+
The sidecar enables these routes only with `--knowledge`. Its new reads are
|
|
38
|
+
`/api/knowledge/dashboard`, `context`, `sessions`, and `read`; mutations are
|
|
39
|
+
`start`, `event`, and `recover`. The empty same-origin `session` POST obtains
|
|
40
|
+
its nonce. There is no remote collaboration, account, canonical apply, model
|
|
41
|
+
provider, or outbound network path. All people who use this local process have
|
|
42
|
+
the local operator's source access. It is not a multi-user access-control layer.
|
|
43
|
+
|
|
44
|
+
## Supported interfaces
|
|
45
|
+
|
|
46
|
+
The workspace is experimental. Two of its outputs are versioned contracts that
|
|
47
|
+
hosts, desktop adapters and agents can bind to:
|
|
48
|
+
|
|
49
|
+
- the context packet from `atelier knowledge context`
|
|
50
|
+
(`schema: atelier-knowledge-context@v1`);
|
|
51
|
+
- the evaluation report from `atelier knowledge evaluate`
|
|
52
|
+
(`schema: atelier-knowledge-evaluation@v1`).
|
|
53
|
+
|
|
54
|
+
Everything else is experimental and may change without a version bump:
|
|
55
|
+
|
|
56
|
+
- `atelier knowledge check` and `session list` print unversioned JSON;
|
|
57
|
+
- the dashboard and session records carry `experimental-v1` schemas;
|
|
58
|
+
- the browser surfaces and their `/api/knowledge/*` routes, served by
|
|
59
|
+
`atelier dev --knowledge` and `atelier server --knowledge`, are experimental;
|
|
60
|
+
- the `knowledgeProject` option of `createAtelierSidecarServer` in
|
|
61
|
+
`@mnstry/atelier/server` is experimental too, not a supported binding.
|
|
62
|
+
|
|
63
|
+
This release has no library API for the workspace. The workspace modules
|
|
64
|
+
`src/knowledge/plan.mjs`, `context.mjs`, `workspace.mjs` and `sessions.mjs` are
|
|
65
|
+
not exported, and importing them directly is unsupported.
|
|
66
|
+
`@mnstry/atelier/knowledge` exports these functions, which are separate from the
|
|
67
|
+
workspace:
|
|
68
|
+
|
|
69
|
+
- `inspectKnowledge`
|
|
70
|
+
- `prepareIntakeContribution` and `prepareKnowledgeImport`
|
|
71
|
+
- `knowledgeGraphProposal`
|
|
72
|
+
- `reconcileKnowledge`
|
|
73
|
+
- `prepareIngestionContribution`, `localKnowledgeContext` and
|
|
74
|
+
`localKnowledgeGraphProposal`
|
|
75
|
+
|
|
76
|
+
A workspace library export will be added when a host needs one, reviewed together
|
|
77
|
+
with that host's use of it.
|
|
78
|
+
|
|
79
|
+
Maintainers check a packed candidate with `npm run knowledge:consumer-proof`, with
|
|
80
|
+
`ATELIER_CANDIDATE_TARBALL` set to the tarball.
|
|
81
|
+
|
|
82
|
+
- **Install.** The script reads the tarball once, installs exactly those
|
|
83
|
+
hashed bytes into a clean temporary consumer, and runs the installed CLI with
|
|
84
|
+
the current Node and an empty temporary home. The proof's own Git steps read no
|
|
85
|
+
global or system Git configuration. The CLI's Git calls get an empty global
|
|
86
|
+
configuration but may still read the host's system configuration. The install runs offline, from the locked dependency closure
|
|
87
|
+
already in the npm cache. With a cold cache it refuses before installing
|
|
88
|
+
anything. Set `ATELIER_KNOWLEDGE_CONSUMER_BOOTSTRAP=1` to allow one declared
|
|
89
|
+
registry fetch of that closure first; the receipt records whether it ran. The
|
|
90
|
+
receipt lists the installed dependency tree (`name@version`) and any problems
|
|
91
|
+
`npm ls` reports. Every entry must lie within the locked closure.
|
|
92
|
+
- **What it checks:**
|
|
93
|
+
- context for an answerable question selects its caveat source (no answer is
|
|
94
|
+
generated or judged);
|
|
95
|
+
- an unsupported question abstains with no sources, candidates or omissions;
|
|
96
|
+
- evaluation;
|
|
97
|
+
- a recorded answer stays an unsaved draft until it is saved; the saved
|
|
98
|
+
private draft and its receipt read back from a new process;
|
|
99
|
+
- a retried start returns the same session;
|
|
100
|
+
- an owner correction: the edited source is reported stale, and earlier
|
|
101
|
+
sessions report changed sources.
|
|
102
|
+
- **The receipt** is bound to the tarball's SHA-256. Any earlier receipt is
|
|
103
|
+
removed before the inputs are checked. Refusals before the temporary consumer
|
|
104
|
+
exists (missing tarball, digest mismatch, cold cache, bootstrap or lockfile
|
|
105
|
+
failure) exit non-zero and leave no receipt. After that, a step failure or an
|
|
106
|
+
unexpected stop writes `passed: false`. Known local roots in failure text
|
|
107
|
+
(the temporary folders, the tarball's folder, this repository and the home
|
|
108
|
+
folder) are replaced with placeholders; other paths may remain.
|
|
109
|
+
|
|
110
|
+
A passing receipt shows that these documented CLI paths work for that tarball.
|
|
111
|
+
It does not measure answer quality or cost.
|
|
112
|
+
|
|
113
|
+
## Five connected views
|
|
114
|
+
|
|
115
|
+
| Workspace | What is visible | Coauthored result | Next proof |
|
|
116
|
+
| --- | --- | --- | --- |
|
|
117
|
+
| Onboard | Purpose, steward, reviewer, source-use policies, and context budget | Useful work, roles, source boundaries, and success criteria | One permitted source can support a consequential question |
|
|
118
|
+
| Model | Definitions, identity rules, directed relationships, and question coverage | A minimal concept or relationship proposal with examples and counterexamples | Source-backed questions distinguish the intended meanings |
|
|
119
|
+
| Deepen | Unused concepts, unknown tags, missing edges, missing evidence, and changed pins | A source-cited correction, contradiction, or unmodeled finding | A reviewer checks exact passages, qualifications, and proposed changes |
|
|
120
|
+
| Apply | Complete bounded sources, provenance, qualifications, and declared relationships | An answer or abstention, uncertainties, proposed action, and validation needs | The owner reviews the answer and decides the next real action |
|
|
121
|
+
| Learn | Equal-budget retrieval comparison and explicitly unmeasured outcomes | Observed outcome, quality, assistance, correction effort, time, and usage notes | Useful work on unseen questions compared with direct source search |
|
|
122
|
+
|
|
123
|
+
The dashboard recommends a next step from current structural diagnostics. It
|
|
124
|
+
never automatically completes an onboarding stage, promotes an assertion, or
|
|
125
|
+
calls an ontology useful because its checks pass. Both task-specific judgment
|
|
126
|
+
and actual adopter acceptance remain visible work.
|
|
127
|
+
|
|
128
|
+
The direct-search comparison uses metadata lexical matching. Graph context adds
|
|
129
|
+
one hop of declared relationships. It is not a semantic answer evaluator or a
|
|
130
|
+
full-text-search benchmark. The graph may spend *more* context on necessary
|
|
131
|
+
qualifications; improvement means better work at appropriate total cost.
|
|
132
|
+
|
|
133
|
+
## Coauthoring and recovery
|
|
134
|
+
|
|
135
|
+
Select a question and a flow, enter your locally asserted name or role, and
|
|
136
|
+
start. Each session retains its prompts, selected evidence, plan digest, and
|
|
137
|
+
workspace snapshot. The prompts cover generic knowledge-work practices; the
|
|
138
|
+
consumer owns its domain vocabulary and source decisions.
|
|
139
|
+
|
|
140
|
+
1. Write an answer. **Record my answer** retains its exact wording in session
|
|
141
|
+
history. It is still a draft.
|
|
142
|
+
2. **Save private draft** persists the field and reads back the matching receipt.
|
|
143
|
+
**Continue** then advances. A machine `propose` event opens a confirmation
|
|
144
|
+
step: confirm the revised wording or keep the original before saving.
|
|
145
|
+
3. Pause or close after a confirmed save. The session list resumes history from
|
|
146
|
+
the local ledger. A `saving` state offers reconciliation; a failed write
|
|
147
|
+
exposes the existing store's one explicit retry. Exhausted retries need
|
|
148
|
+
operator inspection; the UI does not remove another writer's lock.
|
|
149
|
+
4. A failed request retains the exact request ID for retry and keeps the text
|
|
150
|
+
in the tab. Editing pauses so the retry cannot silently change its wording.
|
|
151
|
+
Restore `atelier dev --knowledge`, retry, or reload the session to inspect
|
|
152
|
+
what was actually recorded. Retry controls survive reload and export.
|
|
153
|
+
**End retry and inspect history** stops the tab's retry attempt and preserves
|
|
154
|
+
its request in exported snapshots; it does not cancel or delete server
|
|
155
|
+
history. If recorded wording differs from the text in your tab, the current
|
|
156
|
+
recorded wording and retained answers appear beside it before another intent.
|
|
157
|
+
A failed history inspection remains visible. Reload does not silently erase
|
|
158
|
+
unsaved text. Discarding tab text is explicit.
|
|
159
|
+
5. Export a private snapshot for owner review. It includes saved wording,
|
|
160
|
+
receipts, bound source evidence, unsaved text, and a pending request when
|
|
161
|
+
present. Review its audience before sharing. Browser download behavior is
|
|
162
|
+
browser-owned; export does not transmit it to a collaborator.
|
|
163
|
+
|
|
164
|
+
Unsaved tab text is not durable across tab closure or browser failure. The UI
|
|
165
|
+
warns on navigation while dirty; recording an answer or exporting a snapshot is
|
|
166
|
+
the recovery path. No browser local storage accumulates source material.
|
|
167
|
+
|
|
168
|
+
The source plan and records are never edited by this surface. A source owner
|
|
169
|
+
uses the exported proposal in its own ordinary edit/review workflow, reviews
|
|
170
|
+
an exact diff, applies the admitted change, reruns `knowledge check` and
|
|
171
|
+
`knowledge evaluate`, and starts a session bound to the resulting sources.
|
|
172
|
+
Never update evidence pins merely to make a failing case pass. A changed
|
|
173
|
+
source or project makes old sessions historical; the original prompts,
|
|
174
|
+
evidence, and wording remain readable, including when the current plan fails
|
|
175
|
+
validation. Correction creates a new session; saved-answer undo is not offered.
|
|
176
|
+
|
|
177
|
+
Descriptors are immutable, digest-checked files under ignored
|
|
178
|
+
`.atelier-local/knowledge/sessions/`. Accepted intents and draft receipts use the
|
|
179
|
+
existing coauthor ledger under `.atelier-local/coauthor/`. These are private
|
|
180
|
+
proposal artifacts, not a second canonical ontology database. Sessions require
|
|
181
|
+
a Git workspace with ignored, untracked local state. Descriptor and draft files
|
|
182
|
+
use owner-only modes on POSIX hosts. On Windows, access follows the host's
|
|
183
|
+
filesystem permissions; this surface does not install an access-control list.
|
|
184
|
+
Same-account filesystem control is not an authentication boundary.
|
|
185
|
+
An interrupted start is resumable only when its bound sources still match and
|
|
186
|
+
the retained start protocol, ledger, completion marker, and value files support
|
|
187
|
+
that interpretation. A completed start publishes an immutable marker before any
|
|
188
|
+
guided answer. Missing history with a completion marker or retained values is
|
|
189
|
+
never recreated as an empty session. A missing ledger or an incomplete legacy
|
|
190
|
+
descriptor requires inspection. A damaged descriptor does not hide other
|
|
191
|
+
sessions. Preserve damaged files for inspection; the surface never deletes them
|
|
192
|
+
to make history pass.
|
|
193
|
+
|
|
194
|
+
Each operation checks the current workspace and reports whether its bound
|
|
195
|
+
sources still match. External source editors do not share an atomic transaction
|
|
196
|
+
with the draft ledger: a change during an operation may leave a retained draft
|
|
197
|
+
whose response reports changed sources. These drafts never authorize canonical
|
|
198
|
+
writes or effects. Review and rebind before using them after source changes.
|
|
199
|
+
|
|
200
|
+
## People and agents share the same flow
|
|
201
|
+
|
|
202
|
+
`atelier knowledge dashboard` prints the five views as JSON. Obtain its current
|
|
203
|
+
`snapshot` and an actual question ID. Session commands read one JSON object
|
|
204
|
+
from stdin, at most 1 MiB; `list` needs no input:
|
|
205
|
+
|
|
206
|
+
```sh
|
|
207
|
+
atelier knowledge session list
|
|
208
|
+
atelier knowledge session start < start-request.json
|
|
209
|
+
atelier knowledge session read < session-request.json
|
|
210
|
+
atelier knowledge session event < event-request.json
|
|
211
|
+
atelier knowledge session recover < session-request.json
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Start takes `requestId` (a fresh UUID, retained for exact retry), `flow`
|
|
215
|
+
(`onboard`, `model`, `deepen`, `apply`, or `learn`), `questionId`, `snapshot`,
|
|
216
|
+
and `author`. Read/recover take only `sessionId`. Event takes `sessionId` and
|
|
217
|
+
an `event` with a unique `id`, current `expectedRevision`, and reducer `type`.
|
|
218
|
+
An `answer` or `propose` also carries `text`. All other event behavior follows
|
|
219
|
+
[coauthor sessions](coauthor-session.md). Clients cannot submit receipts or
|
|
220
|
+
failure events. Stale versions never silently overwrite an intervening answer.
|
|
221
|
+
|
|
222
|
+
Ask one useful question at a time. Record the person's exact answer. For
|
|
223
|
+
agent-written revisions, send `propose`, show original and proposed wording,
|
|
224
|
+
and wait for explicit confirmation before `confirm`. The API records intents;
|
|
225
|
+
it cannot authenticate that a human supplied one. Do not infer confirmation,
|
|
226
|
+
source-owner acceptance, or action authority from a saved draft.
|
|
227
|
+
UUID letters, including exact session IDs, are normalized to lowercase. Reusing
|
|
228
|
+
a start request ID with a different author, flow, question, or snapshot is refused. UTF-8 BOM plans are
|
|
229
|
+
supported: the workspace binds raw plan bytes, while the coauthor receipt binds
|
|
230
|
+
decoded text using the same definition as its source reader.
|
|
231
|
+
|
|
232
|
+
Keep requests in ignored local files rather than interpolating authored text
|
|
233
|
+
into shell commands. The CLI supports `--project` and `--plan` for an explicit
|
|
234
|
+
consumer location; browser sessions use that project's `knowledge-plan.json`.
|
|
235
|
+
A coauthor plan must be a visible, unredirected file inside its workspace.
|
|
236
|
+
The workspace directory itself may be reached through an alias or symbolic link;
|
|
237
|
+
plan segments inside it must not be symbolic links.
|
|
238
|
+
Resumed sessions check their own recorded plan, including sessions started with
|
|
239
|
+
`--plan`. Unavailable source checks are reported separately from changed sources.
|
|
240
|
+
|
|
241
|
+
## Evaluation and scale
|
|
242
|
+
|
|
243
|
+
Context contains complete source text, not silently shortened qualifications.
|
|
244
|
+
The exact byte budget covers the context JSON, while estimated tokens are only
|
|
245
|
+
`ceil(bytes / 4)`. Source selection and dashboard retrieval make zero provider
|
|
246
|
+
calls. Workspace scans and evaluation across every planned question still have
|
|
247
|
+
local computation cost; context limits are not a whole-corpus scan deadline.
|
|
248
|
+
|
|
249
|
+
Descriptors are bounded to 1 MiB, session listings to the 200 newest local
|
|
250
|
+
descriptor files, and coauthor history to its existing ledger ceilings. Listings
|
|
251
|
+
include a total and truncation flag; invalid or unfinished entries are individual
|
|
252
|
+
unavailable rows. Use **Open an exact session ID** or the CLI to inspect an older
|
|
253
|
+
session beyond the listing limit; use CLI `recover` for an older incomplete start.
|
|
254
|
+
Each listing verifies one shared ledger snapshot and replays the selected session
|
|
255
|
+
chains. It does not cache state across requests. No history is silently deleted
|
|
256
|
+
or compacted. This first reference is for bounded local workspaces, with
|
|
257
|
+
text-based observations. It provides no numeric outcome aggregation, automatic source ingestion, semantic
|
|
258
|
+
inference, collaborative presence, or canonical editing UI.
|
|
259
|
+
|
|
260
|
+
Qualification should include an unfamiliar person and agent completing an
|
|
261
|
+
unseen useful question: time to first supported answer, correct abstention,
|
|
262
|
+
source support, confusion or assistance, corrections, actual token usage,
|
|
263
|
+
provider cost, and the observed outcome. Automated browser proof demonstrates
|
|
264
|
+
software behavior, not those human results.
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# Knowledge development and the learning cycle
|
|
2
|
+
|
|
3
|
+
Status: implemented locally for the next release. Published alpha.7 does not
|
|
4
|
+
contain these commands. Use `node bin/atelier.mjs harness help` in this source
|
|
5
|
+
checkout, or `atelier harness help` from a package built from this candidate.
|
|
6
|
+
|
|
7
|
+
Knowledge Harness helps people establish, develop, use and revise what they know.
|
|
8
|
+
Ingestion is one capability within that larger purpose. Sources can also originate
|
|
9
|
+
in authorship, conversation, observation, research or implementation experience.
|
|
10
|
+
The graph is one maintained representation; documents, source collections,
|
|
11
|
+
datasets and decisions remain important in their own right.
|
|
12
|
+
|
|
13
|
+
People define purpose and acceptance criteria. Agents prepare admitted work.
|
|
14
|
+
Designated owners validate consequential interpretations and delivery. The local
|
|
15
|
+
records cannot authenticate those people or grant permissions on their behalf.
|
|
16
|
+
|
|
17
|
+
## The capability family
|
|
18
|
+
|
|
19
|
+
| Capability | Responsibility |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| Discovery Harness | Frame questions, alternatives and uncertainties |
|
|
22
|
+
| Research Harness | Investigate and return traceable evidence |
|
|
23
|
+
| Knowledge Harness | Develop, evaluate, curate and activate knowledge |
|
|
24
|
+
| Build Harness | Turn an objective into a verified deliverable |
|
|
25
|
+
| Fabric or another coordinator | Coordinate owners, outcomes, dependencies and delivery gates |
|
|
26
|
+
| Skill Steward | Govern capability versions, adoption and improvement |
|
|
27
|
+
|
|
28
|
+
The shared API is `@mnstry/atelier/harnesses`; domain APIs are
|
|
29
|
+
`@mnstry/atelier/knowledge` and `@mnstry/atelier/build`. The existing
|
|
30
|
+
`@mnstry/atelier/harness` context API and `atelier build` projection alias are
|
|
31
|
+
unchanged. Build workflow commands begin `atelier harness build`.
|
|
32
|
+
|
|
33
|
+
The shared layer provides immutable references, bounded history storage,
|
|
34
|
+
explicit handoffs, current-input reconciliation and version-bound feedback.
|
|
35
|
+
Knowledge and build retain separate closed schemas and state semantics. Existing
|
|
36
|
+
inquiry records are read through a bridge, never rewritten into a universal record.
|
|
37
|
+
|
|
38
|
+
## Establish a useful knowledge domain
|
|
39
|
+
|
|
40
|
+
An establishment record names its repository identity, owner, purpose, scope,
|
|
41
|
+
audience, source policy, acceptance policy, identity rules, vocabulary and the
|
|
42
|
+
questions it must support. Each question has a concrete acceptance criterion.
|
|
43
|
+
Types and relations have definitions; each relation maps explicitly to an
|
|
44
|
+
existing graph predicate. Start with a small representative collection and
|
|
45
|
+
check the question-to-evidence trace before scaling acquisition.
|
|
46
|
+
|
|
47
|
+
Contribution categories are source, observation, concept, claim, model,
|
|
48
|
+
interpretation and decision rationale. Their domain-specific term comes from the
|
|
49
|
+
declared vocabulary. These categories describe a contribution's role; they are
|
|
50
|
+
not grades of truth. Ontology changes use a new `domain-revision` with migration
|
|
51
|
+
rationale and flag old dependants for reconsideration. This conservative first
|
|
52
|
+
implementation requires reevaluation under the new domain; it does not silently
|
|
53
|
+
remap old types or merge identities.
|
|
54
|
+
|
|
55
|
+
## Acquire, create, interpret and evaluate
|
|
56
|
+
|
|
57
|
+
`atelier harness example` prints an invented complete learning cycle. It includes
|
|
58
|
+
simulated owner decisions, CI and delivery reports; none is real execution proof.
|
|
59
|
+
The per-profile ledger examples show every supported record shape.
|
|
60
|
+
|
|
61
|
+
Preserve existing files with `@mnstry/atelier/intake`. Its `ingest`, `beginAttempt`,
|
|
62
|
+
`completeAttempt` and `readCompletion` operations keep source bytes, extractor
|
|
63
|
+
identity/configuration and output receipts separate. The new
|
|
64
|
+
`prepareIntakeContribution` verifies existing completion and output bytes and
|
|
65
|
+
prepares a source contribution. It invokes no extractor and accepts no meaning.
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
import { createIntakeStore, intakeDigest } from '@mnstry/atelier/intake'
|
|
69
|
+
import { prepareIntakeContribution } from '@mnstry/atelier/knowledge'
|
|
70
|
+
import { appendHarness, EMPTY_HARNESS_HEAD } from '@mnstry/atelier/harnesses'
|
|
71
|
+
|
|
72
|
+
// The caller chooses a Git root with ignored .atelier-local/ and authors domain.
|
|
73
|
+
appendHarness({ workspaceRoot, profile: 'knowledge', record: domain,
|
|
74
|
+
confirm: EMPTY_HARNESS_HEAD })
|
|
75
|
+
const intake = createIntakeStore({ workspaceRoot })
|
|
76
|
+
const source = intake.ingest({ ref: sourcePath, expectedDigest: intakeDigest(sourceBytes) })
|
|
77
|
+
intake.beginAttempt({ attemptId, blobId: source.blobId,
|
|
78
|
+
extractorId, extractorVersion, configurationDigest })
|
|
79
|
+
// The separately authorized processor supplies output; the harness does not run it.
|
|
80
|
+
intake.completeAttempt({ attemptId, output, expectedOutputDigest: intakeDigest(output) })
|
|
81
|
+
const proposed = prepareIntakeContribution({ workspaceRoot, records: [domain],
|
|
82
|
+
attemptId, title: 'Source material', term: declaredType })
|
|
83
|
+
// Author a contribution record around proposed.data, then append with the current head.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Authored contributions retain a rationale for their origin. Captured text binds
|
|
87
|
+
its digest and source locator. Extraction binds the original blob, attempt,
|
|
88
|
+
configuration and output. An exchange retains its complete handoff. Derived
|
|
89
|
+
contributions use exact quoted passages from earlier contributions; scope and
|
|
90
|
+
audience widening refuse. Missing passages, versions, references and vocabulary
|
|
91
|
+
are failures. Source text cannot expand execution authority.
|
|
92
|
+
|
|
93
|
+
A private container can hold public contributions. When an export includes domain
|
|
94
|
+
context, its audience is at least as restrictive as both the domain and the
|
|
95
|
+
contribution. Sensitive material requires a sensitive receiver. Team, staff and
|
|
96
|
+
operator are separate audiences; combining them requires private containment.
|
|
97
|
+
|
|
98
|
+
Evaluation records preserve judgment (`supported`, `contested`, `uncertain`,
|
|
99
|
+
`unsupported`), rationale, applicability scope and limitations. Reviews separately
|
|
100
|
+
record accepted, deferred or rejected dispositions. Accepted contributions require
|
|
101
|
+
an evaluation and accepted evidence dependencies. A curated uncertain claim
|
|
102
|
+
remains uncertain. This layer does not calculate an undifferentiated confidence
|
|
103
|
+
score. Bayesian assumptions and computed results remain in the inquiry assessment
|
|
104
|
+
that the research handoff references and preserves.
|
|
105
|
+
|
|
106
|
+
A new evaluation reopens the contribution's prior acceptance and its downstream
|
|
107
|
+
uses. A replacement review must account for every current evaluation, including
|
|
108
|
+
contradictory judgments. Reacceptance preserves the earlier review and does not
|
|
109
|
+
silently restore old handoffs or activations.
|
|
110
|
+
|
|
111
|
+
## Connect, activate and revise
|
|
112
|
+
|
|
113
|
+
Propose identity matches or conceptual links as relation records. Acceptance
|
|
114
|
+
requires current accepted endpoints. No entity merge is automatic. An activation
|
|
115
|
+
names reviewed contributions/relations, purpose, destination and domain questions.
|
|
116
|
+
`knowledgeGraphProposal` emits draft Markdown and unpromoted `atelier-claim@v1`
|
|
117
|
+
edges, with selected evidence dependencies, reviews and limitations retained.
|
|
118
|
+
Accepted relations also receive draft evidence documents containing their rationale,
|
|
119
|
+
review and domain definition; the corresponding edge pins that relation and review.
|
|
120
|
+
The receiver reviews/adopts the exact files through its existing authoring process,
|
|
121
|
+
rebuilds the graph and verifies the meaningful source trace.
|
|
122
|
+
|
|
123
|
+
Withdraw or revise a contribution without deleting the original. Local descendants
|
|
124
|
+
become reconsideration items. Downstream repositories use current source snapshots
|
|
125
|
+
to discover changed inputs through `reconcileKnowledge` or `buildReadiness`.
|
|
126
|
+
Previously admitted graph files are not rewritten or removed automatically.
|
|
127
|
+
Revisit their source decisions and prepare a new authorized change.
|
|
128
|
+
|
|
129
|
+
## Handoffs and freshness
|
|
130
|
+
|
|
131
|
+
`createHarnessHandoff` binds a source repository label, profile, run, history digest,
|
|
132
|
+
subject reference, audience, exact payload, destination and purpose. Knowledge
|
|
133
|
+
exports accepted contributions; inquiry exports accepted current decisions; build
|
|
134
|
+
exports a current accepted candidate with resolved dependencies. An external
|
|
135
|
+
destination remains subject to the host's disclosure and execution rules.
|
|
136
|
+
|
|
137
|
+
`source.repositoryBinding` is `establishment-record` for knowledge/build, whose
|
|
138
|
+
establishment records declare the repository. Existing inquiry campaigns have no
|
|
139
|
+
repository field, so their handoffs explicitly use `caller-declared`; verification
|
|
140
|
+
reports the same distinction. Neither value authenticates a repository or owner.
|
|
141
|
+
|
|
142
|
+
`verifyHarnessHandoff` verifies a supplied producer history against those pins.
|
|
143
|
+
The current history must contain the complete exact issued history as a prefix;
|
|
144
|
+
unrelated appends are allowed only while the subject and accepted payload remain
|
|
145
|
+
unchanged and current. A source rewrite, relevant correction, ontology migration,
|
|
146
|
+
gate replacement or candidate replacement invalidates the relevant handoff.
|
|
147
|
+
|
|
148
|
+
Snapshots are explicit `{repository, profile, records}` objects. Missing or
|
|
149
|
+
ambiguous sources cannot clear freshness. Reconciliation can traverse knowledge,
|
|
150
|
+
inquiry and build dependencies, bounded to 12 dependency hops, 64 supplied snapshots
|
|
151
|
+
and 256 verification calls per operation. Inspected histories and successful
|
|
152
|
+
verification results are cached within that operation. A verification budget
|
|
153
|
+
failure is a named reconsideration reason or readiness blocker, never freshness.
|
|
154
|
+
`verifyHarnessHandoff`, `reconcileKnowledge` and `buildReadiness` report
|
|
155
|
+
`dependencyWork`; their optional `verificationLimit` can lower the ceiling.
|
|
156
|
+
Freshness is relative to the supplied snapshot, not a live remote observation.
|
|
157
|
+
The toolkit cannot detect a withheld update or authenticate the source owner.
|
|
158
|
+
The receiver must obtain snapshots through its existing trusted process.
|
|
159
|
+
|
|
160
|
+
`prepareKnowledgeImport` verifies a handoff and prepares a contribution with
|
|
161
|
+
semantic acceptance pending. Its full context stays in the contribution. Graph
|
|
162
|
+
activation and outgoing handoffs recheck relevant imported dependencies. An
|
|
163
|
+
unavailable proprietary service does not prevent reading or exporting saved
|
|
164
|
+
records, although current remote-input freshness may remain unresolved.
|
|
165
|
+
|
|
166
|
+
## Build discipline derived from Fabric
|
|
167
|
+
|
|
168
|
+
A build objective declares owner, scope, acceptance criteria, required gates,
|
|
169
|
+
artifact dependencies, admitted effects, attempt budget and stopping rule.
|
|
170
|
+
A candidate pins repository identity, commit, tree, artifact digest and reported
|
|
171
|
+
writer custody. `prepareGitCandidate` reads a selected local Git root, requires
|
|
172
|
+
clean source, verifies the artifact twice and prepares its exact candidate data.
|
|
173
|
+
It executes no build or test and does not authenticate the writer declaration.
|
|
174
|
+
|
|
175
|
+
Record attempt intent before an external command/adapter invocation. Progress can
|
|
176
|
+
be running, uncertain, completed, failed or cancelled. Unsettled or completed
|
|
177
|
+
operations refuse replay; a failed/cancelled attempt can be retried within the
|
|
178
|
+
declared budget. An uncertain attempt requires reconciliation against that same
|
|
179
|
+
attempt. The harness neither dispatches nor cancels the actual process, and a
|
|
180
|
+
caller-reported cancellation cannot establish physical process cleanup.
|
|
181
|
+
|
|
182
|
+
Gate reports bind the exact candidate and a declared gate with evidence digest,
|
|
183
|
+
locator and verifier identity. Required source, review, CI, runtime, integration
|
|
184
|
+
and delivery gates stay distinct. Transport completion never creates a passed
|
|
185
|
+
gate. Where a gate names an attempt, a pass requires completion on that candidate.
|
|
186
|
+
External CI/review adapters must validate their native receipts before recording
|
|
187
|
+
reports; this local core cannot authenticate arbitrary supplied evidence digests.
|
|
188
|
+
|
|
189
|
+
An accepted decision requires current passed required gates and settled attempts.
|
|
190
|
+
`buildReadiness` also rechecks explicit dependency snapshots. Its result is
|
|
191
|
+
`readyReported`, with `authenticatedAcceptance:false` and
|
|
192
|
+
`executionAuthorized:false`. A delivery report is a separate record. Replacing
|
|
193
|
+
a candidate, gate or decision leaves older proof visible and marks dependants.
|
|
194
|
+
|
|
195
|
+
`buildCoordinationProposal` exposes owner, outcome, dependencies, candidate, gates
|
|
196
|
+
and blockers for Fabric or another coordinator. It reads no private Fabric state,
|
|
197
|
+
creates no tasks, sends no messages, and does not claim coordinator acceptance.
|
|
198
|
+
Concrete CI connectors, authenticated receipt verification, distributed worker
|
|
199
|
+
leases and operated scheduling remain adapters, outside this local implementation.
|
|
200
|
+
|
|
201
|
+
## Storage, skills and boundaries
|
|
202
|
+
|
|
203
|
+
`atelier harness knowledge|build append --record FILE --confirm DIGEST` appends
|
|
204
|
+
to `.atelier-local/harnesses/PROFILE/RUN/ledger.json`. Use `status` for the head
|
|
205
|
+
and `export` for the complete ledger, including private content. `inspect` checks
|
|
206
|
+
history and references; `validate` checks one record's shape only.
|
|
207
|
+
|
|
208
|
+
Writes require a Git root, ignored untracked private state, a qualified POSIX
|
|
209
|
+
filesystem, the cooperating-writer lock and the current head. Windows ledger
|
|
210
|
+
writes refuse before creating state; read-only inspection and exchange of
|
|
211
|
+
existing histories remain available. Atomic single-file replacement preserves
|
|
212
|
+
a complete previous or next history after interruption.
|
|
213
|
+
Hard process termination can leave the shared lock for operator reconciliation;
|
|
214
|
+
no automatic lock recovery or multi-repository transaction is added here. Hashes
|
|
215
|
+
do not defend against a writer who can replace the whole history. Audience labels
|
|
216
|
+
are descriptive; repository access remains the actual read boundary.
|
|
217
|
+
|
|
218
|
+
Limits are 256 records and 8 MiB serialized per ledger, 64 items in bounded record
|
|
219
|
+
arrays, 262,144 characters per contribution, and 1,048,576 characters per handoff
|
|
220
|
+
payload. Existing intake allows larger outputs; a contribution that exceeds these
|
|
221
|
+
bounds needs an explicit continuation plan. No silent compaction occurs.
|
|
222
|
+
|
|
223
|
+
`atelier-knowledge-harness` and `atelier-build-harness` ship as identical Codex and
|
|
224
|
+
Claude skills and independently sealed reference packages. Adopt through the
|
|
225
|
+
existing capability Steward with observed `atelier-harness-v1` availability and
|
|
226
|
+
explicit local effects. Preserve third-party skills and customizations. The
|
|
227
|
+
packages declare their behavioral evaluation unknown; placement is not host use.
|
|
228
|
+
|
|
229
|
+
`prepareHarnessFeedback` binds feedback to the skill binding in effect at the
|
|
230
|
+
subject record. The receiver's `capability observe` checks actual current binding.
|
|
231
|
+
Context/provider causes remain in the wrapper and map to unknown in the older
|
|
232
|
+
Steward event vocabulary. Feedback never rewrites, publishes or upgrades a skill.
|
|
233
|
+
|
|
234
|
+
The contracts, skills, storage, basic calculations, graph proposals and offline
|
|
235
|
+
exchange remain open. Optional operated services can supply specialized extraction,
|
|
236
|
+
managed execution, collaboration, connectors or advanced inference. Credentials,
|
|
237
|
+
cost limits, source access, authenticated receipts and operational permissions
|
|
238
|
+
remain host-owned; local manifests confer none of them.
|