mednotes-opencode 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/.opencode/agents/med-chat-triager.md +204 -0
- package/.opencode/agents/med-flashcard-maker.md +63 -0
- package/.opencode/agents/med-knowledge-architect.md +230 -0
- package/.opencode/agents/med-link-graph-curator.md +177 -0
- package/.opencode/agents/med-publish-guard.md +62 -0
- package/.opencode/commands/flashcards.md +25 -0
- package/.opencode/commands/mednotes/create.md +25 -0
- package/.opencode/commands/mednotes/enrich.md +27 -0
- package/.opencode/commands/mednotes/fix-wiki.md +27 -0
- package/.opencode/commands/mednotes/history.md +22 -0
- package/.opencode/commands/mednotes/link-body.md +25 -0
- package/.opencode/commands/mednotes/link-related.md +27 -0
- package/.opencode/commands/mednotes/link.md +27 -0
- package/.opencode/commands/mednotes/pdf-library.md +27 -0
- package/.opencode/commands/mednotes/process-chats.md +23 -0
- package/.opencode/commands/mednotes/setup.md +21 -0
- package/.opencode/commands/mednotes/status.md +27 -0
- package/.opencode/commands/mednotes/telemetry.md +27 -0
- package/.opencode/commands/report.md +26 -0
- package/.opencode/mednotes/AGENTS.md +57 -0
- package/.opencode/mednotes/agents/med-chat-triager.md +197 -0
- package/.opencode/mednotes/agents/med-flashcard-maker.md +56 -0
- package/.opencode/mednotes/agents/med-knowledge-architect.md +224 -0
- package/.opencode/mednotes/agents/med-link-graph-curator.md +171 -0
- package/.opencode/mednotes/agents/med-publish-guard.md +55 -0
- package/.opencode/mednotes/contracts/.gitkeep +1 -0
- package/.opencode/mednotes/contracts/agents.json +116 -0
- package/.opencode/mednotes/contracts/opencode-plugin.json +70 -0
- package/.opencode/mednotes/docs/agent-prompt-hardening.md +567 -0
- package/.opencode/mednotes/docs/agent-role-contracts.md +94 -0
- package/.opencode/mednotes/docs/anki-mcp-twenty-rules.md +214 -0
- package/.opencode/mednotes/docs/anki-templates/README.md +39 -0
- package/.opencode/mednotes/docs/anki-templates/cloze.back.html +23 -0
- package/.opencode/mednotes/docs/anki-templates/cloze.front.html +14 -0
- package/.opencode/mednotes/docs/anki-templates/qa.back.html +24 -0
- package/.opencode/mednotes/docs/anki-templates/qa.front.html +14 -0
- package/.opencode/mednotes/docs/anki-templates/style.css +182 -0
- package/.opencode/mednotes/docs/atomicity-splitting-policy.md +113 -0
- package/.opencode/mednotes/docs/extension-docs.md +40 -0
- package/.opencode/mednotes/docs/flashcard-ingestion.md +278 -0
- package/.opencode/mednotes/docs/knowledge-architect.md +208 -0
- package/.opencode/mednotes/docs/merge-policy.md +110 -0
- package/.opencode/mednotes/docs/public-vocabulary.md +104 -0
- package/.opencode/mednotes/docs/semantic-linker.md +141 -0
- package/.opencode/mednotes/docs/taxonomy-policy.md +90 -0
- package/.opencode/mednotes/docs/triage-policy.md +187 -0
- package/.opencode/mednotes/docs/vault-version-control.md +758 -0
- package/.opencode/mednotes/docs/vocabulary-db-recovery.md +58 -0
- package/.opencode/mednotes/docs/workflow-output-contract.md +779 -0
- package/.opencode/mednotes/hooks/hooks.json +79 -0
- package/.opencode/mednotes/package-lock.json +6361 -0
- package/.opencode/mednotes/package.json +15 -0
- package/.opencode/mednotes/pyproject.toml +48 -0
- package/.opencode/mednotes/scripts/bootstrap_windows_python_uv.cmd +13 -0
- package/.opencode/mednotes/scripts/bootstrap_windows_python_uv.ps1 +172 -0
- package/.opencode/mednotes/scripts/enrich_notes.py +23 -0
- package/.opencode/mednotes/scripts/full_reset_windows_python_uv.cmd +13 -0
- package/.opencode/mednotes/scripts/hooks/antigravity_hook_status.mjs +212 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/adapters/antigravity.mjs +169 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/adapters/harness_payload.mjs +103 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/adapters/opencode_plugin.mjs +341 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/adapters/opencode_user_config_sync.mjs +177 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/anki_preflight.mjs +214 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/cli.mjs +143 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/diagnostics.mjs +11 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/domain/agent_directive_core.mjs +160 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/fsm_directive.mjs +1470 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/hook_errors.mjs +120 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/retention.mjs +114 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/runtime.mjs +174 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/telemetry_capture.mjs +511 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook/vault_guard.mjs +624 -0
- package/.opencode/mednotes/scripts/hooks/mednotes_hook.mjs +5 -0
- package/.opencode/mednotes/scripts/mednotes/_runtime_paths.py +24 -0
- package/.opencode/mednotes/scripts/mednotes/anki_model_validator.py +18 -0
- package/.opencode/mednotes/scripts/mednotes/capture_extension_diff.py +1562 -0
- package/.opencode/mednotes/scripts/mednotes/feedback_report.py +16 -0
- package/.opencode/mednotes/scripts/mednotes/flashcard_index.py +18 -0
- package/.opencode/mednotes/scripts/mednotes/flashcard_pipeline.py +18 -0
- package/.opencode/mednotes/scripts/mednotes/flashcard_report.py +18 -0
- package/.opencode/mednotes/scripts/mednotes/flashcard_sources.py +18 -0
- package/.opencode/mednotes/scripts/mednotes/obsidian/README.md +6 -0
- package/.opencode/mednotes/scripts/mednotes/obsidian_note_utils.py +20 -0
- package/.opencode/mednotes/scripts/mednotes/pdf_library/cli.py +16 -0
- package/.opencode/mednotes/scripts/mednotes/project_fsm.py +229 -0
- package/.opencode/mednotes/scripts/mednotes/setup_telemetry_email.py +404 -0
- package/.opencode/mednotes/scripts/mednotes/sync_anki_twenty_rules.py +18 -0
- package/.opencode/mednotes/scripts/mednotes/sync_opencode_user_config.py +36 -0
- package/.opencode/mednotes/scripts/mednotes/wiki/cli.py +20 -0
- package/.opencode/mednotes/scripts/mednotes/wiki_graph.py +18 -0
- package/.opencode/mednotes/scripts/mednotes/wiki_tree.py +134 -0
- package/.opencode/mednotes/scripts/reset_windows_python_uv.ps1 +625 -0
- package/.opencode/mednotes/scripts/run_python.mjs +109 -0
- package/.opencode/mednotes/scripts/vault/vault_commit.ps1 +19 -0
- package/.opencode/mednotes/scripts/vault/vault_commit.sh +18 -0
- package/.opencode/mednotes/scripts/vault/vault_git.ps1 +19 -0
- package/.opencode/mednotes/scripts/vault/vault_git.py +3107 -0
- package/.opencode/mednotes/scripts/vault/vault_git.sh +18 -0
- package/.opencode/mednotes/scripts/vault/vault_precommit.ps1 +19 -0
- package/.opencode/mednotes/scripts/vault/vault_precommit.sh +18 -0
- package/.opencode/mednotes/skills/THIRD_PARTY_NOTICES.md +45 -0
- package/.opencode/mednotes/skills/create-medical-flashcards/SKILL.md +113 -0
- package/.opencode/mednotes/skills/create-medical-note/SKILL.md +90 -0
- package/.opencode/mednotes/skills/enrich-medical-note/SKILL.md +120 -0
- package/.opencode/mednotes/skills/fix-medical-wiki/SKILL.md +559 -0
- package/.opencode/mednotes/skills/link-medical-wiki/SKILL.md +224 -0
- package/.opencode/mednotes/skills/obsidian-cli/SKILL.md +118 -0
- package/.opencode/mednotes/skills/obsidian-markdown/SKILL.md +207 -0
- package/.opencode/mednotes/skills/obsidian-markdown/references/CALLOUTS.md +58 -0
- package/.opencode/mednotes/skills/obsidian-markdown/references/EMBEDS.md +63 -0
- package/.opencode/mednotes/skills/obsidian-markdown/references/PROPERTIES.md +61 -0
- package/.opencode/mednotes/skills/obsidian-ops/SKILL.md +136 -0
- package/.opencode/mednotes/skills/pdf-library/SKILL.md +45 -0
- package/.opencode/mednotes/skills/process-medical-chats/SKILL.md +246 -0
- package/.opencode/mednotes/skills/workflow-report/SKILL.md +100 -0
- package/.opencode/mednotes/src/mednotes/__init__.py +5 -0
- package/.opencode/mednotes/src/mednotes/domains/__init__.py +5 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/README.md +26 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/__init__.py +2 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/build_demo_apkg.py +177 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/contracts.py +385 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/flashcards_machine.py +522 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/fsm.py +817 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/index.py +630 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/install_models.py +445 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/model.py +359 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/obsidian_links.py +135 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/obsidian_note_utils.py +546 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/pipeline.py +580 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/report.py +510 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/sources.py +682 -0
- package/.opencode/mednotes/src/mednotes/domains/flashcards/sync_rules.py +184 -0
- package/.opencode/mednotes/src/mednotes/domains/history/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/history/history_fsm.py +852 -0
- package/.opencode/mednotes/src/mednotes/domains/history/history_machine.py +453 -0
- package/.opencode/mednotes/src/mednotes/domains/setup/__init__.py +7 -0
- package/.opencode/mednotes/src/mednotes/domains/setup/setup_fsm.py +808 -0
- package/.opencode/mednotes/src/mednotes/domains/setup/setup_machine.py +973 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/README.md +64 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/api.py +668 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/batch_state.py +102 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/atomicity/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/atomicity/atomicity.py +877 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/body_link/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/body_link/body_linker.py +1562 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/effects/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/effects/effect_adapters.py +949 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/effects/fix_wiki_runtime_adapters.py +433 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/graph/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/graph/coverage.py +413 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/graph/graph.py +396 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/graph/graph_fixes.py +161 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/hygiene/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/hygiene/hygiene.py +483 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/__init__.py +2 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/anchors.py +185 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/core/__init__.py +0 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/core/cache.py +223 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/core/config.py +131 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/core/download.py +224 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/core/frontmatter.py +59 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/core/insert.py +227 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/core/local_import.py +54 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/sources/__init__.py +42 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/sources/web_profiles.py +99 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/sources/web_search.py +203 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/illustrate/sources/wikimedia.py +102 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/markdown/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/markdown/markdown_db_adapter.mjs +434 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/markdown/markdown_node_runtime.py +274 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/markdown/markdown_query.py +227 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/artifacts.py +605 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/canonical_merge.py +277 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/markdown_zones.py +85 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/meaning_planner.py +307 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_iter.py +67 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_merge.py +278 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_plan.py +409 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_policy.py +22 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_style/__init__.py +79 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_style/fixes.py +264 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_style/frontmatter.py +435 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_style/models.py +208 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_style/prompts.py +37 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_style/tables.py +236 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/note_style/validate.py +404 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/provenance.py +478 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/raw_chats.py +273 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/notes/sources_backfill.py +235 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/__init__.py +10 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/anchors.py +16 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/captions.py +47 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/cli.py +179 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/cloud.py +52 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/config.py +196 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/context_packets.py +76 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/db.py +81 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/doctor.py +102 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/figure_ids.py +42 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/ingest.py +326 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/insert.py +316 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/mentions.py +57 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/ocr.py +71 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/paths.py +35 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/pdf_engine.py +77 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/schema.py +155 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/search.py +188 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/tui/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/tui/app.py +89 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/tui/image_backend.py +29 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/pdf/tui/state.py +65 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/publish/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/publish/publish.py +1139 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/publish/publish_receipts.py +365 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/publish/publish_recovery.py +240 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/agent_behavior_corpus.py +2069 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/agent_report_validation.py +4448 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/agent_run_audit.py +852 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/architect_prompt_eval.py +341 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/body_linker_eval.py +240 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/curator_output_validation.py +175 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/curator_prompt_eval.py +865 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/quality/triager_prompt_eval.py +1295 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/related_notes/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/related_notes/related_notes.py +1920 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/related_notes/related_notes_headless.py +1186 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/specialist/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/specialist/plan_attestation.py +148 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/specialist/specialist_receipts.py +360 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/specialist/specialist_runtime.py +52 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/specialist/specialist_task_runner.py +2470 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/style/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/style/style.py +1952 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/subagents/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/subagents/agents.py +1767 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/alias_projection.py +331 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/link_terms.py +151 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/llm_disambiguation.py +182 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/taxonomy/__init__.py +116 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/taxonomy/audit.py +201 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/taxonomy/migration.py +314 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/taxonomy/normalize.py +72 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/taxonomy/policy.py +135 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/taxonomy/resolve.py +413 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/taxonomy/schema.py +157 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/taxonomy/status.py +137 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/vocabulary_bootstrap.py +509 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/vocabulary_curator_batch.py +1115 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/vocabulary_ingestion.py +632 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/vocabulary_map.py +930 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/capabilities/vocabulary/vocabulary_recovery.py +1388 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/cli.py +6665 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/common.py +69 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/config.py +210 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/__init__.py +74 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/agent_report.py +242 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/agent_run_audit.py +196 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/agents.py +601 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/curator.py +256 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/effect_payloads.py +519 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/happy_path.py +190 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/link_git.py +110 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/link_runtime_artifact.py +52 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/note_plan.py +75 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/paths.py +114 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/public_report.py +53 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/publish.py +111 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/raw_coverage.py +217 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/related_notes.py +136 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/related_notes_headless.py +153 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/related_notes_runtime.py +395 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/schema_registry.py +637 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/specialist.py +432 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/status.py +62 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/style_rewrite.py +568 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/vocabulary_ingestion.py +223 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/workflow_blockers.py +510 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/workflow_guardrails.py +637 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/workflow_outcomes.py +121 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/contracts/workflow_receipts.py +100 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/__main__.py +4 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/cli.py +275 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/__init__.py +2 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/candidates.py +193 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/cli.py +189 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/gemini.py +220 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/inputs.py +120 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/models.py +34 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/parsing.py +48 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/prompts.py +216 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/quality.py +54 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/reporting.py +24 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/runner.py +433 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/utils.py +39 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/enrich/workflow/vault_guard_bridge.py +17 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_context_packets.py +454 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_decision_projection.py +133 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_effects.py +1260 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_fsm.py +2768 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_machine.py +1588 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_plan.py +306 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_primary_objective.py +316 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_problem.py +153 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_receipt_evidence.py +306 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_states.py +290 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/fix_wiki_user_report.py +342 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/fix_wiki/health.py +6332 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/link_fsm.py +1119 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/link_git.py +638 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/link_machine.py +1106 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/link_retry_governance.py +374 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/link_runtime_result.py +485 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/link_triggers.py +183 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/linking.py +2758 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/reference_repair.py +718 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link/related_notes_fsm.py +1855 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link_related/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/link_related/link_related_machine.py +834 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/process_chats/__init__.py +1 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/process_chats/process_chats_fsm.py +1592 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/process_chats/process_chats_machine.py +3097 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/process_chats/process_chats_primary_objective.py +28 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/flows/process_chats/process_chats_runtime_result.py +185 -0
- package/.opencode/mednotes/src/mednotes/domains/wiki/performance.py +97 -0
- package/.opencode/mednotes/src/mednotes/kernel/__init__.py +6 -0
- package/.opencode/mednotes/src/mednotes/kernel/agent_directive.py +336 -0
- package/.opencode/mednotes/src/mednotes/kernel/base.py +51 -0
- package/.opencode/mednotes/src/mednotes/kernel/blockers.py +39 -0
- package/.opencode/mednotes/src/mednotes/kernel/effect_executor.py +55 -0
- package/.opencode/mednotes/src/mednotes/kernel/effect_intent.py +69 -0
- package/.opencode/mednotes/src/mednotes/kernel/effects.py +160 -0
- package/.opencode/mednotes/src/mednotes/kernel/errors.py +38 -0
- package/.opencode/mednotes/src/mednotes/kernel/fsm_event.py +35 -0
- package/.opencode/mednotes/src/mednotes/kernel/fsm_model.py +55 -0
- package/.opencode/mednotes/src/mednotes/kernel/fsm_transition_result.py +75 -0
- package/.opencode/mednotes/src/mednotes/kernel/guardrails.py +188 -0
- package/.opencode/mednotes/src/mednotes/kernel/progress.py +319 -0
- package/.opencode/mednotes/src/mednotes/kernel/public_report.py +346 -0
- package/.opencode/mednotes/src/mednotes/kernel/state_machine.py +164 -0
- package/.opencode/mednotes/src/mednotes/kernel/workflow.py +619 -0
- package/.opencode/mednotes/src/mednotes/platform/__init__.py +5 -0
- package/.opencode/mednotes/src/mednotes/platform/backup_policy.py +382 -0
- package/.opencode/mednotes/src/mednotes/platform/feedback/__init__.py +62 -0
- package/.opencode/mednotes/src/mednotes/platform/feedback/cli.py +275 -0
- package/.opencode/mednotes/src/mednotes/platform/feedback/contracts.py +83 -0
- package/.opencode/mednotes/src/mednotes/platform/feedback/core.py +4168 -0
- package/.opencode/mednotes/src/mednotes/platform/feedback/integrity.py +989 -0
- package/.opencode/mednotes/src/mednotes/platform/feedback/operational_contract.py +2293 -0
- package/.opencode/mednotes/src/mednotes/platform/feedback/telemetry.py +875 -0
- package/.opencode/mednotes/src/mednotes/platform/feedback/telemetry_config.py +65 -0
- package/.opencode/mednotes/src/mednotes/platform/opencode_runtime_config.py +182 -0
- package/.opencode/mednotes/src/mednotes/platform/paths/__init__.py +1560 -0
- package/.opencode/mednotes/src/mednotes/platform/secrets.py +89 -0
- package/.opencode/mednotes/src/mednotes/platform/user_config.py +103 -0
- package/.opencode/mednotes/src/mednotes/platform/vault_guard.py +214 -0
- package/.opencode/mednotes/uv.lock +932 -0
- package/.opencode/mednotes.generated.json +395 -0
- package/.opencode/opencode.json +31 -0
- package/.opencode/plugins/mednotes-fsm.mjs +7 -0
- package/.opencode/plugins/mednotes_hook/adapters/antigravity.mjs +169 -0
- package/.opencode/plugins/mednotes_hook/adapters/harness_payload.mjs +103 -0
- package/.opencode/plugins/mednotes_hook/adapters/opencode_plugin.mjs +341 -0
- package/.opencode/plugins/mednotes_hook/adapters/opencode_user_config_sync.mjs +177 -0
- package/.opencode/plugins/mednotes_hook/anki_preflight.mjs +214 -0
- package/.opencode/plugins/mednotes_hook/cli.mjs +143 -0
- package/.opencode/plugins/mednotes_hook/diagnostics.mjs +11 -0
- package/.opencode/plugins/mednotes_hook/domain/agent_directive_core.mjs +160 -0
- package/.opencode/plugins/mednotes_hook/fsm_directive.mjs +1470 -0
- package/.opencode/plugins/mednotes_hook/hook_errors.mjs +120 -0
- package/.opencode/plugins/mednotes_hook/retention.mjs +114 -0
- package/.opencode/plugins/mednotes_hook/runtime.mjs +174 -0
- package/.opencode/plugins/mednotes_hook/telemetry_capture.mjs +511 -0
- package/.opencode/plugins/mednotes_hook/vault_guard.mjs +624 -0
- package/AGENTS.md +57 -0
- package/README.md +194 -0
- package/adapters/antigravity/agents.json +80 -0
- package/adapters/antigravity/templates/med-chat-triager.md +214 -0
- package/adapters/antigravity/templates/med-flashcard-maker.md +72 -0
- package/adapters/antigravity/templates/med-knowledge-architect.md +241 -0
- package/adapters/antigravity/templates/med-link-graph-curator.md +187 -0
- package/adapters/antigravity/templates/med-publish-guard.md +71 -0
- package/adapters/gemini-cli/gemini-extension.json +14 -0
- package/adapters/gemini-cli/package.json +15 -0
- package/adapters/gemini-cli/pyproject.toml +48 -0
- package/bin/mednotes-opencode.mjs +155 -0
- package/contracts/agents.json +116 -0
- package/core/agents/med-chat-triager.md +197 -0
- package/core/agents/med-flashcard-maker.md +56 -0
- package/core/agents/med-knowledge-architect.md +224 -0
- package/core/agents/med-link-graph-curator.md +171 -0
- package/core/agents/med-publish-guard.md +55 -0
- package/core/commands/flashcards.toml +22 -0
- package/core/commands/mednotes/create.toml +22 -0
- package/core/commands/mednotes/enrich.toml +24 -0
- package/core/commands/mednotes/fix-wiki.toml +24 -0
- package/core/commands/mednotes/history.toml +19 -0
- package/core/commands/mednotes/link-body.toml +22 -0
- package/core/commands/mednotes/link-related.toml +24 -0
- package/core/commands/mednotes/link.toml +24 -0
- package/core/commands/mednotes/pdf-library.toml +24 -0
- package/core/commands/mednotes/process-chats.toml +20 -0
- package/core/commands/mednotes/setup.toml +18 -0
- package/core/commands/mednotes/status.toml +24 -0
- package/core/commands/mednotes/telemetry.toml +24 -0
- package/core/commands/report.toml +23 -0
- package/core/skills/THIRD_PARTY_NOTICES.md +45 -0
- package/core/skills/create-medical-flashcards/SKILL.md +113 -0
- package/core/skills/create-medical-note/SKILL.md +90 -0
- package/core/skills/enrich-medical-note/SKILL.md +120 -0
- package/core/skills/fix-medical-wiki/SKILL.md +559 -0
- package/core/skills/link-medical-wiki/SKILL.md +224 -0
- package/core/skills/obsidian-cli/SKILL.md +118 -0
- package/core/skills/obsidian-markdown/SKILL.md +207 -0
- package/core/skills/obsidian-markdown/references/CALLOUTS.md +58 -0
- package/core/skills/obsidian-markdown/references/EMBEDS.md +63 -0
- package/core/skills/obsidian-markdown/references/PROPERTIES.md +61 -0
- package/core/skills/obsidian-ops/SKILL.md +136 -0
- package/core/skills/pdf-library/SKILL.md +45 -0
- package/core/skills/process-medical-chats/SKILL.md +246 -0
- package/core/skills/workflow-report/SKILL.md +100 -0
- package/package.json +45 -0
|
@@ -0,0 +1,637 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Iterable
|
|
4
|
+
from dataclasses import dataclass
|
|
5
|
+
|
|
6
|
+
from mednotes.domains.flashcards.contracts import FlashcardSourceManifest, FlashcardWritePlan
|
|
7
|
+
from mednotes.domains.flashcards.fsm import FlashcardsFsmResult
|
|
8
|
+
from mednotes.domains.history.history_fsm import HistoryFsmResult
|
|
9
|
+
from mednotes.domains.setup.setup_fsm import SetupFsmResult
|
|
10
|
+
from mednotes.domains.wiki.contracts.agent_report import (
|
|
11
|
+
AgentRunReportFinding,
|
|
12
|
+
AgentRunReportValidation,
|
|
13
|
+
FixWikiPrimaryObjectiveSummary,
|
|
14
|
+
ProcessChatsPrimaryObjectiveSummary,
|
|
15
|
+
)
|
|
16
|
+
from mednotes.domains.wiki.contracts.agents import (
|
|
17
|
+
ExpectedOutputSchema,
|
|
18
|
+
NextSpecialistTask,
|
|
19
|
+
PlanOutputReceipt,
|
|
20
|
+
PlanOutputReceiptWorkItem,
|
|
21
|
+
SubagentBatchPlan,
|
|
22
|
+
SubagentOutputContract,
|
|
23
|
+
SubagentPlanAttestation,
|
|
24
|
+
SubagentWorkItem,
|
|
25
|
+
)
|
|
26
|
+
from mednotes.domains.wiki.contracts.curator import (
|
|
27
|
+
CuratorApplyReceipt,
|
|
28
|
+
CuratorBatchPlan,
|
|
29
|
+
CuratorManifest,
|
|
30
|
+
CuratorPromptEvalReport,
|
|
31
|
+
NoteSemanticIngestionOutput,
|
|
32
|
+
)
|
|
33
|
+
from mednotes.domains.wiki.contracts.effect_payloads import (
|
|
34
|
+
LinkSubworkflowEffectPayload,
|
|
35
|
+
LinkWorkflowRunEffectPayload,
|
|
36
|
+
RelatedNotesExportEffectPayload,
|
|
37
|
+
RelatedNotesRecoveryEffectPayload,
|
|
38
|
+
RelatedNotesRecoveryStateEffectPayload,
|
|
39
|
+
RelatedNotesSyncEffectPayload,
|
|
40
|
+
RelatedNotesSyncSectionEffectPayload,
|
|
41
|
+
SpecialistModelEffectPayload,
|
|
42
|
+
WaitExternalEffectPayload,
|
|
43
|
+
)
|
|
44
|
+
from mednotes.domains.wiki.contracts.happy_path import HappyPathRoundMetrics, HappyPathRunMetrics
|
|
45
|
+
from mednotes.domains.wiki.contracts.note_plan import TriageNotePlan
|
|
46
|
+
from mednotes.domains.wiki.contracts.paths import PathResolutionBlocker, PathResolutionResult, WorkbenchPathsConfig
|
|
47
|
+
from mednotes.domains.wiki.contracts.public_report import WorkflowPublicReportViewModel
|
|
48
|
+
from mednotes.domains.wiki.contracts.publish import PublishManifest, PublishReceipt
|
|
49
|
+
from mednotes.domains.wiki.contracts.raw_coverage import RawCoverage
|
|
50
|
+
from mednotes.domains.wiki.contracts.related_notes import RelatedNotesExport
|
|
51
|
+
from mednotes.domains.wiki.contracts.specialist import (
|
|
52
|
+
SpecialistNextApplyStep,
|
|
53
|
+
SpecialistTaskRunReceipt,
|
|
54
|
+
SpecialistTaskRunReceiptAttestation,
|
|
55
|
+
)
|
|
56
|
+
from mednotes.domains.wiki.contracts.status import StatusSnapshot
|
|
57
|
+
from mednotes.domains.wiki.contracts.style_rewrite import (
|
|
58
|
+
StyleRewriteApplyReceipt,
|
|
59
|
+
StyleRewriteAtomicApplyAgentStdout,
|
|
60
|
+
StyleRewriteHumanProgressCheckpoint,
|
|
61
|
+
StyleRewriteManifest,
|
|
62
|
+
StyleRewriteOutputAttestation,
|
|
63
|
+
StyleRewriteOutputFinalization,
|
|
64
|
+
StyleRewriteOutputReceipt,
|
|
65
|
+
)
|
|
66
|
+
from mednotes.domains.wiki.flows.fix_wiki.fix_wiki_fsm import FixWikiFsmFacts, FixWikiFsmResult
|
|
67
|
+
from mednotes.domains.wiki.flows.link.link_fsm import LinkFsmFacts, LinkFsmResult
|
|
68
|
+
from mednotes.domains.wiki.flows.link.related_notes_fsm import LinkRelatedFsmFacts, LinkRelatedFsmResult
|
|
69
|
+
from mednotes.domains.wiki.flows.process_chats.process_chats_fsm import (
|
|
70
|
+
ProcessChatsFsmFacts,
|
|
71
|
+
ProcessChatsFsmResult,
|
|
72
|
+
ProcessChatsPublishOperationResult,
|
|
73
|
+
)
|
|
74
|
+
from mednotes.kernel.agent_directive import AgentDirective
|
|
75
|
+
from mednotes.kernel.base import ContractModel
|
|
76
|
+
from mednotes.kernel.blockers import BlockerEntryModel
|
|
77
|
+
from mednotes.kernel.effects import (
|
|
78
|
+
WorkflowEffect,
|
|
79
|
+
WorkflowEffectResult,
|
|
80
|
+
)
|
|
81
|
+
from mednotes.kernel.fsm_event import WorkflowEvent
|
|
82
|
+
from mednotes.kernel.fsm_model import WorkflowModel
|
|
83
|
+
from mednotes.kernel.fsm_transition_result import WorkflowTransitionResult
|
|
84
|
+
from mednotes.kernel.guardrails import OperationalErrorContext
|
|
85
|
+
from mednotes.kernel.progress import WorkflowProgressEvent, WorkflowProgressState, WorkflowProgressViewModel
|
|
86
|
+
from mednotes.kernel.public_report import WorkflowPrimaryObjectiveSummary, WorkflowPublicReport, WorkflowReports
|
|
87
|
+
from mednotes.kernel.state_machine import WorkflowStateMachineSnapshot, WorkflowTransition
|
|
88
|
+
from mednotes.kernel.workflow import (
|
|
89
|
+
DecisionEvidence,
|
|
90
|
+
RejectedAutomation,
|
|
91
|
+
VersionControlSafety,
|
|
92
|
+
WorkflowDecision,
|
|
93
|
+
WorkflowPhaseOutcome,
|
|
94
|
+
WorkflowPhaseReceipt,
|
|
95
|
+
WorkflowReceiptPayload,
|
|
96
|
+
)
|
|
97
|
+
from mednotes.platform.feedback.contracts import ManualReportReceipt, TelemetryStatusSnapshot
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
@dataclass(frozen=True)
|
|
101
|
+
class ContractSchemaTarget:
|
|
102
|
+
contract_id: str
|
|
103
|
+
filename: str
|
|
104
|
+
model: type[ContractModel]
|
|
105
|
+
description: str
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
CONTRACT_SCHEMA_TARGETS: tuple[ContractSchemaTarget, ...] = (
|
|
109
|
+
ContractSchemaTarget(
|
|
110
|
+
"medical-notes-workbench.workflow-decision.dev.v1",
|
|
111
|
+
"workflow-decision.schema.json",
|
|
112
|
+
WorkflowDecision,
|
|
113
|
+
"Common workflow decision object, including automation evidence and human-decision packets.",
|
|
114
|
+
),
|
|
115
|
+
ContractSchemaTarget(
|
|
116
|
+
"medical-notes-workbench.workflow-receipt-payload.dev.v1",
|
|
117
|
+
"workflow-receipt-payload.schema.json",
|
|
118
|
+
WorkflowReceiptPayload,
|
|
119
|
+
"Common workflow receipt payload used by workflow receipt builders.",
|
|
120
|
+
),
|
|
121
|
+
ContractSchemaTarget(
|
|
122
|
+
"medical-notes-workbench.workflow-phase-outcome.dev.v1",
|
|
123
|
+
"workflow-phase-outcome.schema.json",
|
|
124
|
+
WorkflowPhaseOutcome,
|
|
125
|
+
"Typed phase outcome for multi-step workflow receipts.",
|
|
126
|
+
),
|
|
127
|
+
ContractSchemaTarget(
|
|
128
|
+
"medical-notes-workbench.workflow-phase-receipt.dev.v1",
|
|
129
|
+
"workflow-phase-receipt.schema.json",
|
|
130
|
+
WorkflowPhaseReceipt,
|
|
131
|
+
"Typed per-phase receipt summary.",
|
|
132
|
+
),
|
|
133
|
+
ContractSchemaTarget(
|
|
134
|
+
"medical-notes-workbench.decision-evidence.dev.v1",
|
|
135
|
+
"decision-evidence.schema.json",
|
|
136
|
+
DecisionEvidence,
|
|
137
|
+
"Evidence item required by workflow decisions.",
|
|
138
|
+
),
|
|
139
|
+
ContractSchemaTarget(
|
|
140
|
+
"medical-notes-workbench.rejected-automation.dev.v1",
|
|
141
|
+
"rejected-automation.schema.json",
|
|
142
|
+
RejectedAutomation,
|
|
143
|
+
"Evidence-backed rejected automation route.",
|
|
144
|
+
),
|
|
145
|
+
ContractSchemaTarget(
|
|
146
|
+
"medical-notes-workbench.version-control-safety.dev.v1",
|
|
147
|
+
"version-control-safety.schema.json",
|
|
148
|
+
VersionControlSafety,
|
|
149
|
+
"Common version-control safety projection for receipts.",
|
|
150
|
+
),
|
|
151
|
+
ContractSchemaTarget(
|
|
152
|
+
"medical-notes-workbench.workflow-progress-event.dev.v1",
|
|
153
|
+
"workflow-progress-event.schema.json",
|
|
154
|
+
WorkflowProgressEvent,
|
|
155
|
+
"Workflow progress event emitted during workflow orchestration.",
|
|
156
|
+
),
|
|
157
|
+
ContractSchemaTarget(
|
|
158
|
+
"medical-notes-workbench.workflow-progress-state.dev.v1",
|
|
159
|
+
"workflow-progress-state.schema.json",
|
|
160
|
+
WorkflowProgressState,
|
|
161
|
+
"Folded workflow progress state for receipt and UI projection.",
|
|
162
|
+
),
|
|
163
|
+
ContractSchemaTarget(
|
|
164
|
+
"medical-notes-workbench.workflow-progress-view-model.dev.v1",
|
|
165
|
+
"workflow-progress-view-model.schema.json",
|
|
166
|
+
WorkflowProgressViewModel,
|
|
167
|
+
"User-facing workflow progress view model derived from progress state.",
|
|
168
|
+
),
|
|
169
|
+
ContractSchemaTarget(
|
|
170
|
+
"medical-notes-workbench.public-workflow-report.dev.v1",
|
|
171
|
+
"public-workflow-report.schema.json",
|
|
172
|
+
WorkflowPublicReport,
|
|
173
|
+
"Human-visible text report embedded under reports.public_report in FSM-first workflows.",
|
|
174
|
+
),
|
|
175
|
+
ContractSchemaTarget(
|
|
176
|
+
"medical-notes-workbench.workflow-reports.dev.v1",
|
|
177
|
+
"workflow-reports.schema.json",
|
|
178
|
+
WorkflowReports,
|
|
179
|
+
"Shared reports envelope for FSM-first workflows; state lives outside this report.",
|
|
180
|
+
),
|
|
181
|
+
ContractSchemaTarget(
|
|
182
|
+
"medical-notes-workbench.workflow-primary-objective-summary.dev.v1",
|
|
183
|
+
"workflow-primary-objective-summary.schema.json",
|
|
184
|
+
WorkflowPrimaryObjectiveSummary,
|
|
185
|
+
"Minimum structured objective answer embedded in reports.details.primary_objective_summary.",
|
|
186
|
+
),
|
|
187
|
+
ContractSchemaTarget(
|
|
188
|
+
"medical-notes-workbench.workflow-transition.dev.v1",
|
|
189
|
+
"workflow-transition.schema.json",
|
|
190
|
+
WorkflowTransition,
|
|
191
|
+
"Workflow state-machine transition with effects and progress events.",
|
|
192
|
+
),
|
|
193
|
+
ContractSchemaTarget(
|
|
194
|
+
"medical-notes-workbench.workflow-state-machine-snapshot.dev.v1",
|
|
195
|
+
"workflow-state-machine-snapshot.schema.json",
|
|
196
|
+
WorkflowStateMachineSnapshot,
|
|
197
|
+
"Workflow state-machine snapshot embedded in receipts.",
|
|
198
|
+
),
|
|
199
|
+
ContractSchemaTarget(
|
|
200
|
+
"medical-notes-workbench.workflow-event.dev.v1",
|
|
201
|
+
"workflow-event.schema.json",
|
|
202
|
+
WorkflowEvent,
|
|
203
|
+
"Base typed event consumed by workflow StateChart callbacks.",
|
|
204
|
+
),
|
|
205
|
+
ContractSchemaTarget(
|
|
206
|
+
"medical-notes-workbench.workflow-model.dev.v1",
|
|
207
|
+
"workflow-model.schema.json",
|
|
208
|
+
WorkflowModel,
|
|
209
|
+
"Persisted workflow state plus event, transition and pending-effect logs.",
|
|
210
|
+
),
|
|
211
|
+
ContractSchemaTarget(
|
|
212
|
+
"medical-notes-workbench.workflow-transition-result.dev.v1",
|
|
213
|
+
"workflow-transition-result.schema.json",
|
|
214
|
+
WorkflowTransitionResult,
|
|
215
|
+
"Executable transition result returned by workflow StateChart callbacks.",
|
|
216
|
+
),
|
|
217
|
+
ContractSchemaTarget(
|
|
218
|
+
"medical-notes-workbench.agent-directive.dev.v1",
|
|
219
|
+
"agent-directive.schema.json",
|
|
220
|
+
AgentDirective,
|
|
221
|
+
"Canonical FSM-to-agent directive consumed by harnesses, validators and hooks.",
|
|
222
|
+
),
|
|
223
|
+
ContractSchemaTarget(
|
|
224
|
+
"medical-notes-workbench.workflow-effect.dev.v1",
|
|
225
|
+
"workflow-effect.schema.json",
|
|
226
|
+
WorkflowEffect,
|
|
227
|
+
"Executable effect emitted by a workflow FSM and materialized by the effect executor.",
|
|
228
|
+
),
|
|
229
|
+
ContractSchemaTarget(
|
|
230
|
+
"medical-notes-workbench.workflow-effect-result.dev.v1",
|
|
231
|
+
"workflow-effect-result.schema.json",
|
|
232
|
+
WorkflowEffectResult,
|
|
233
|
+
"Typed result returned after materializing one workflow effect.",
|
|
234
|
+
),
|
|
235
|
+
ContractSchemaTarget(
|
|
236
|
+
"medical-notes-workbench.link-subworkflow-effect-payload.dev.v1",
|
|
237
|
+
"link-subworkflow-effect-payload.schema.json",
|
|
238
|
+
LinkSubworkflowEffectPayload,
|
|
239
|
+
"Private typed payload consumed by the workflow effect executor after running /mednotes:link.",
|
|
240
|
+
),
|
|
241
|
+
ContractSchemaTarget(
|
|
242
|
+
"medical-notes-workbench.link-workflow-run-effect-payload.dev.v1",
|
|
243
|
+
"link-workflow-run-effect-payload.schema.json",
|
|
244
|
+
LinkWorkflowRunEffectPayload,
|
|
245
|
+
"Private typed intent emitted before running /mednotes:link.",
|
|
246
|
+
),
|
|
247
|
+
ContractSchemaTarget(
|
|
248
|
+
"medical-notes-workbench.related-notes-recovery-state-effect-payload.dev.v1",
|
|
249
|
+
"related-notes-recovery-state-effect-payload.schema.json",
|
|
250
|
+
RelatedNotesRecoveryStateEffectPayload,
|
|
251
|
+
"Private typed Related Notes recovery progress embedded in effect results.",
|
|
252
|
+
),
|
|
253
|
+
ContractSchemaTarget(
|
|
254
|
+
"medical-notes-workbench.related-notes-recovery-effect-payload.dev.v1",
|
|
255
|
+
"related-notes-recovery-effect-payload.schema.json",
|
|
256
|
+
RelatedNotesRecoveryEffectPayload,
|
|
257
|
+
"Private typed payload consumed by the workflow effect executor after recovering a Related Notes export.",
|
|
258
|
+
),
|
|
259
|
+
ContractSchemaTarget(
|
|
260
|
+
"medical-notes-workbench.related-notes-export-effect-payload.dev.v1",
|
|
261
|
+
"related-notes-export-effect-payload.schema.json",
|
|
262
|
+
RelatedNotesExportEffectPayload,
|
|
263
|
+
"Private typed command payload emitted before recovering a Related Notes export.",
|
|
264
|
+
),
|
|
265
|
+
ContractSchemaTarget(
|
|
266
|
+
"medical-notes-workbench.related-notes-sync-effect-payload.dev.v1",
|
|
267
|
+
"related-notes-sync-effect-payload.schema.json",
|
|
268
|
+
RelatedNotesSyncEffectPayload,
|
|
269
|
+
"Private typed payload consumed by the workflow effect executor after syncing the Related Notes section.",
|
|
270
|
+
),
|
|
271
|
+
ContractSchemaTarget(
|
|
272
|
+
"medical-notes-workbench.related-notes-sync-section-effect-payload.dev.v1",
|
|
273
|
+
"related-notes-sync-section-effect-payload.schema.json",
|
|
274
|
+
RelatedNotesSyncSectionEffectPayload,
|
|
275
|
+
"Private typed command payload emitted before syncing the Related Notes section.",
|
|
276
|
+
),
|
|
277
|
+
ContractSchemaTarget(
|
|
278
|
+
"medical-notes-workbench.wait-external-effect-payload.dev.v1",
|
|
279
|
+
"wait-external-effect-payload.schema.json",
|
|
280
|
+
WaitExternalEffectPayload,
|
|
281
|
+
"Private typed payload consumed by the workflow effect executor for resumable external waits.",
|
|
282
|
+
),
|
|
283
|
+
ContractSchemaTarget(
|
|
284
|
+
"medical-notes-workbench.specialist-model-effect-payload.dev.v1",
|
|
285
|
+
"specialist-model-effect-payload.schema.json",
|
|
286
|
+
SpecialistModelEffectPayload,
|
|
287
|
+
"Private typed payload consumed by the workflow effect executor after calling a specialist model.",
|
|
288
|
+
),
|
|
289
|
+
ContractSchemaTarget(
|
|
290
|
+
"medical-notes-workbench.specialist-task-run-receipt.dev.v1",
|
|
291
|
+
"specialist-task-run-receipt.schema.json",
|
|
292
|
+
SpecialistTaskRunReceipt,
|
|
293
|
+
"Typed receipt proving a specialist model task ran through a supported harness.",
|
|
294
|
+
),
|
|
295
|
+
ContractSchemaTarget(
|
|
296
|
+
"medical-notes-workbench.specialist-task-run-receipt-attestation.dev.v1",
|
|
297
|
+
"specialist-task-run-receipt-attestation.schema.json",
|
|
298
|
+
SpecialistTaskRunReceiptAttestation,
|
|
299
|
+
"Workbench HMAC attestation proving a specialist task run receipt came from the official runner.",
|
|
300
|
+
),
|
|
301
|
+
ContractSchemaTarget(
|
|
302
|
+
"medical-notes-workbench.agent-run-report-validation.dev.v1",
|
|
303
|
+
"agent-run-report-validation.schema.json",
|
|
304
|
+
AgentRunReportValidation,
|
|
305
|
+
"Post-run validation report comparing an agent final report against workflow truth.",
|
|
306
|
+
),
|
|
307
|
+
ContractSchemaTarget(
|
|
308
|
+
"medical-notes-workbench.agent-run-report-finding.dev.v1",
|
|
309
|
+
"agent-run-report-finding.schema.json",
|
|
310
|
+
AgentRunReportFinding,
|
|
311
|
+
"Single final-report contract violation found after an agent-run validation.",
|
|
312
|
+
),
|
|
313
|
+
ContractSchemaTarget(
|
|
314
|
+
"medical-notes-workbench.happy-path-run-metrics.dev.v1",
|
|
315
|
+
"happy-path-run-metrics.schema.json",
|
|
316
|
+
HappyPathRunMetrics,
|
|
317
|
+
"Per-run happy-path metric produced by controlled experiments.",
|
|
318
|
+
),
|
|
319
|
+
ContractSchemaTarget(
|
|
320
|
+
"medical-notes-workbench.happy-path-round-metrics.dev.v1",
|
|
321
|
+
"happy-path-round-metrics.schema.json",
|
|
322
|
+
HappyPathRoundMetrics,
|
|
323
|
+
"Per-round happy-path prevalence metric for a controlled experiment batch.",
|
|
324
|
+
),
|
|
325
|
+
ContractSchemaTarget(
|
|
326
|
+
"medical-notes-workbench.workflow-public-report-view-model.dev.v1",
|
|
327
|
+
"workflow-public-report-view-model.schema.json",
|
|
328
|
+
WorkflowPublicReportViewModel,
|
|
329
|
+
"Typed public report view model that tells the agent what the user-facing result must say.",
|
|
330
|
+
),
|
|
331
|
+
ContractSchemaTarget(
|
|
332
|
+
"medical-notes-workbench.fix-wiki-primary-objective-summary.dev.v1",
|
|
333
|
+
"fix-wiki-primary-objective-summary.schema.json",
|
|
334
|
+
FixWikiPrimaryObjectiveSummary,
|
|
335
|
+
"Derived answer to whether fix-wiki fixed the Wiki, what mutated, graph outcome, and Related Notes outcome.",
|
|
336
|
+
),
|
|
337
|
+
ContractSchemaTarget(
|
|
338
|
+
"medical-notes-workbench.process-chats-primary-objective-summary.dev.v1",
|
|
339
|
+
"process-chats-primary-objective-summary.schema.json",
|
|
340
|
+
ProcessChatsPrimaryObjectiveSummary,
|
|
341
|
+
"Derived answer to whether process-chats published notes, covered raws, wrote the Wiki, and ran linker.",
|
|
342
|
+
),
|
|
343
|
+
ContractSchemaTarget(
|
|
344
|
+
"medical-notes-workbench.fix-wiki-fsm-facts.dev.v1",
|
|
345
|
+
"fix-wiki-fsm-facts.schema.json",
|
|
346
|
+
FixWikiFsmFacts,
|
|
347
|
+
"Input facts consumed by the fix-wiki FSM projection.",
|
|
348
|
+
),
|
|
349
|
+
ContractSchemaTarget(
|
|
350
|
+
"medical-notes-workbench.fix-wiki-fsm-result.dev.v1",
|
|
351
|
+
"fix-wiki-fsm-result.schema.json",
|
|
352
|
+
FixWikiFsmResult,
|
|
353
|
+
"Canonical FSM-first result emitted by /mednotes:fix-wiki.",
|
|
354
|
+
),
|
|
355
|
+
ContractSchemaTarget(
|
|
356
|
+
"medical-notes-workbench.link-fsm-facts.dev.v1",
|
|
357
|
+
"link-fsm-facts.schema.json",
|
|
358
|
+
LinkFsmFacts,
|
|
359
|
+
"Input facts consumed by the /mednotes:link FSM projection.",
|
|
360
|
+
),
|
|
361
|
+
ContractSchemaTarget(
|
|
362
|
+
"medical-notes-workbench.link-fsm-result.dev.v1",
|
|
363
|
+
"link-fsm-result.schema.json",
|
|
364
|
+
LinkFsmResult,
|
|
365
|
+
"Canonical FSM-first result emitted by /mednotes:link.",
|
|
366
|
+
),
|
|
367
|
+
ContractSchemaTarget(
|
|
368
|
+
"medical-notes-workbench.process-chats-publish-operation-result.dev.v1",
|
|
369
|
+
"process-chats-publish-operation-result.schema.json",
|
|
370
|
+
ProcessChatsPublishOperationResult,
|
|
371
|
+
"Private typed publish operation result consumed by the /mednotes:process-chats FSM projection.",
|
|
372
|
+
),
|
|
373
|
+
ContractSchemaTarget(
|
|
374
|
+
"medical-notes-workbench.process-chats-fsm-facts.dev.v1",
|
|
375
|
+
"process-chats-fsm-facts.schema.json",
|
|
376
|
+
ProcessChatsFsmFacts,
|
|
377
|
+
"Input facts consumed by the /mednotes:process-chats FSM projection.",
|
|
378
|
+
),
|
|
379
|
+
ContractSchemaTarget(
|
|
380
|
+
"medical-notes-workbench.process-chats-fsm-result.dev.v1",
|
|
381
|
+
"process-chats-fsm-result.schema.json",
|
|
382
|
+
ProcessChatsFsmResult,
|
|
383
|
+
"Canonical FSM-first result emitted by /mednotes:process-chats.",
|
|
384
|
+
),
|
|
385
|
+
ContractSchemaTarget(
|
|
386
|
+
"medical-notes-workbench.link-related-fsm-facts.dev.v1",
|
|
387
|
+
"link-related-fsm-facts.schema.json",
|
|
388
|
+
LinkRelatedFsmFacts,
|
|
389
|
+
"Input facts consumed by the /mednotes:link-related FSM projection.",
|
|
390
|
+
),
|
|
391
|
+
ContractSchemaTarget(
|
|
392
|
+
"medical-notes-workbench.link-related-fsm-result.dev.v1",
|
|
393
|
+
"link-related-fsm-result.schema.json",
|
|
394
|
+
LinkRelatedFsmResult,
|
|
395
|
+
"Canonical FSM-first result emitted by /mednotes:link-related and Related Notes recovery.",
|
|
396
|
+
),
|
|
397
|
+
ContractSchemaTarget(
|
|
398
|
+
"medical-notes-workbench.flashcards-fsm-result.dev.v1",
|
|
399
|
+
"flashcards-fsm-result.schema.json",
|
|
400
|
+
FlashcardsFsmResult,
|
|
401
|
+
"Canonical FSM-first result emitted by /flashcards.",
|
|
402
|
+
),
|
|
403
|
+
ContractSchemaTarget(
|
|
404
|
+
"medical-notes-workbench.setup-fsm-result.dev.v1",
|
|
405
|
+
"setup-fsm-result.schema.json",
|
|
406
|
+
SetupFsmResult,
|
|
407
|
+
"Canonical FSM-first result emitted by /mednotes:setup.",
|
|
408
|
+
),
|
|
409
|
+
ContractSchemaTarget(
|
|
410
|
+
"medical-notes-workbench.history-fsm-result.dev.v1",
|
|
411
|
+
"history-fsm-result.schema.json",
|
|
412
|
+
HistoryFsmResult,
|
|
413
|
+
"Canonical FSM-first result emitted by /mednotes:history.",
|
|
414
|
+
),
|
|
415
|
+
ContractSchemaTarget(
|
|
416
|
+
"medical-notes-workbench.status-snapshot.dev.v1",
|
|
417
|
+
"status-snapshot.schema.json",
|
|
418
|
+
StatusSnapshot,
|
|
419
|
+
"Typed non-mutating /mednotes:status snapshot; not a workflow FSM.",
|
|
420
|
+
),
|
|
421
|
+
ContractSchemaTarget(
|
|
422
|
+
"medical-notes-workbench.telemetry-status-snapshot.dev.v1",
|
|
423
|
+
"telemetry-status-snapshot.schema.json",
|
|
424
|
+
TelemetryStatusSnapshot,
|
|
425
|
+
"Typed local telemetry adapter status while remote telemetry is disabled by project policy.",
|
|
426
|
+
),
|
|
427
|
+
ContractSchemaTarget(
|
|
428
|
+
"medical-notes-workbench.manual-report-receipt.dev.v1",
|
|
429
|
+
"manual-report-receipt.schema.json",
|
|
430
|
+
ManualReportReceipt,
|
|
431
|
+
"Typed receipt for explicit user-requested /report sending.",
|
|
432
|
+
),
|
|
433
|
+
ContractSchemaTarget(
|
|
434
|
+
"medical-notes-workbench.flashcard-source-manifest.dev.v1",
|
|
435
|
+
"flashcard-source-manifest.schema.json",
|
|
436
|
+
FlashcardSourceManifest,
|
|
437
|
+
"Source manifest consumed by the /flashcards workflow before candidate generation.",
|
|
438
|
+
),
|
|
439
|
+
ContractSchemaTarget(
|
|
440
|
+
"medical-notes-workbench.flashcard-write-plan.dev.v1",
|
|
441
|
+
"flashcard-write-plan.schema.json",
|
|
442
|
+
FlashcardWritePlan,
|
|
443
|
+
"Preview-first write plan consumed by /flashcards before creating Anki cards.",
|
|
444
|
+
),
|
|
445
|
+
ContractSchemaTarget(
|
|
446
|
+
"medical-notes-workbench.blocker-entry.dev.v1",
|
|
447
|
+
"blocker-entry.schema.json",
|
|
448
|
+
BlockerEntryModel,
|
|
449
|
+
"Registered blocker entry with default decision route.",
|
|
450
|
+
),
|
|
451
|
+
ContractSchemaTarget(
|
|
452
|
+
"medical-notes-workbench.operational-error-context.dev.v1",
|
|
453
|
+
"operational-error-context.schema.json",
|
|
454
|
+
OperationalErrorContext,
|
|
455
|
+
"Actionable error context used by agent retries and blockers.",
|
|
456
|
+
),
|
|
457
|
+
ContractSchemaTarget(
|
|
458
|
+
"medical-notes-workbench.curator-batch-plan.dev.v1",
|
|
459
|
+
"curator-batch-plan.schema.json",
|
|
460
|
+
CuratorBatchPlan,
|
|
461
|
+
"Curator batch plan consumed before collecting semantic ingestion outputs.",
|
|
462
|
+
),
|
|
463
|
+
ContractSchemaTarget(
|
|
464
|
+
"medical-notes-workbench.curator-manifest.dev.v1",
|
|
465
|
+
"curator-manifest.schema.json",
|
|
466
|
+
CuratorManifest,
|
|
467
|
+
"Manifest of collected curator outputs.",
|
|
468
|
+
),
|
|
469
|
+
ContractSchemaTarget(
|
|
470
|
+
"medical-notes-workbench.curator-prompt-eval-report.dev.v1",
|
|
471
|
+
"curator-prompt-eval-report.schema.json",
|
|
472
|
+
CuratorPromptEvalReport,
|
|
473
|
+
"Prompt evaluation report required before applying curator output.",
|
|
474
|
+
),
|
|
475
|
+
ContractSchemaTarget(
|
|
476
|
+
"medical-notes-workbench.note-semantic-ingestion-output.dev.v1",
|
|
477
|
+
"note-semantic-ingestion-output.schema.json",
|
|
478
|
+
NoteSemanticIngestionOutput,
|
|
479
|
+
"Semantic ingestion output emitted by med-link-graph-curator.",
|
|
480
|
+
),
|
|
481
|
+
ContractSchemaTarget(
|
|
482
|
+
"medical-notes-workbench.curator-apply-receipt.dev.v1",
|
|
483
|
+
"curator-apply-receipt.schema.json",
|
|
484
|
+
CuratorApplyReceipt,
|
|
485
|
+
"Curator batch apply receipt.",
|
|
486
|
+
),
|
|
487
|
+
ContractSchemaTarget(
|
|
488
|
+
"medical-notes-workbench.style-rewrite-manifest.dev.v1",
|
|
489
|
+
"style-rewrite-manifest.schema.json",
|
|
490
|
+
StyleRewriteManifest,
|
|
491
|
+
"Manifest of collected specialist style rewrite outputs.",
|
|
492
|
+
),
|
|
493
|
+
ContractSchemaTarget(
|
|
494
|
+
"medical-notes-workbench.style-rewrite-output-receipt.dev.v1",
|
|
495
|
+
"style-rewrite-output-receipt.schema.json",
|
|
496
|
+
StyleRewriteOutputReceipt,
|
|
497
|
+
"Receipt emitted by the specialist authoring route for one style rewrite output.",
|
|
498
|
+
),
|
|
499
|
+
ContractSchemaTarget(
|
|
500
|
+
"medical-notes-workbench.style-rewrite-output-attestation.dev.v1",
|
|
501
|
+
"style-rewrite-output-attestation.schema.json",
|
|
502
|
+
StyleRewriteOutputAttestation,
|
|
503
|
+
"Workbench-signed attestation for one style rewrite output.",
|
|
504
|
+
),
|
|
505
|
+
ContractSchemaTarget(
|
|
506
|
+
"medical-notes-workbench.style-rewrite-output-finalization.dev.v1",
|
|
507
|
+
"style-rewrite-output-finalization.schema.json",
|
|
508
|
+
StyleRewriteOutputFinalization,
|
|
509
|
+
"Finalization receipt emitted after validating and attesting one style rewrite output.",
|
|
510
|
+
),
|
|
511
|
+
ContractSchemaTarget(
|
|
512
|
+
"medical-notes-workbench.style-rewrite-apply-receipt.dev.v1",
|
|
513
|
+
"style-rewrite-apply-receipt.schema.json",
|
|
514
|
+
StyleRewriteApplyReceipt,
|
|
515
|
+
"Receipt emitted when applying a style rewrite output.",
|
|
516
|
+
),
|
|
517
|
+
ContractSchemaTarget(
|
|
518
|
+
"medical-notes-workbench.style-rewrite-human-progress-checkpoint.dev.v1",
|
|
519
|
+
"style-rewrite-human-progress-checkpoint.schema.json",
|
|
520
|
+
StyleRewriteHumanProgressCheckpoint,
|
|
521
|
+
"Human-readable progress checkpoint emitted after a specialist style rewrite apply.",
|
|
522
|
+
),
|
|
523
|
+
ContractSchemaTarget(
|
|
524
|
+
"medical-notes-workbench.style-rewrite-atomic-apply-agent-stdout.dev.v1",
|
|
525
|
+
"style-rewrite-atomic-apply-agent-stdout.schema.json",
|
|
526
|
+
StyleRewriteAtomicApplyAgentStdout,
|
|
527
|
+
"Compact agent-facing stdout emitted after applying one specialist style rewrite.",
|
|
528
|
+
),
|
|
529
|
+
ContractSchemaTarget(
|
|
530
|
+
"medical-notes-workbench.specialist-next-apply-step.dev.v1",
|
|
531
|
+
"specialist-next-apply-step.schema.json",
|
|
532
|
+
SpecialistNextApplyStep,
|
|
533
|
+
"Typed instruction that tells an agent to apply a completed specialist receipt immediately.",
|
|
534
|
+
),
|
|
535
|
+
ContractSchemaTarget(
|
|
536
|
+
"medical-notes-workbench.plan-output-receipt.dev.v1",
|
|
537
|
+
"plan-output-receipt.schema.json",
|
|
538
|
+
PlanOutputReceipt,
|
|
539
|
+
"Compact receipt emitted when plan-subagents writes a plan to disk.",
|
|
540
|
+
),
|
|
541
|
+
ContractSchemaTarget(
|
|
542
|
+
"medical-notes-workbench.next-specialist-task.dev.v1",
|
|
543
|
+
"next-specialist-task.schema.json",
|
|
544
|
+
NextSpecialistTask,
|
|
545
|
+
"Actionable next specialist task emitted for agent continuation.",
|
|
546
|
+
),
|
|
547
|
+
ContractSchemaTarget(
|
|
548
|
+
"medical-notes-workbench.plan-output-receipt-work-item.dev.v1",
|
|
549
|
+
"plan-output-receipt-work-item.schema.json",
|
|
550
|
+
PlanOutputReceiptWorkItem,
|
|
551
|
+
"Compact work item summary embedded in plan-output-receipt.",
|
|
552
|
+
),
|
|
553
|
+
ContractSchemaTarget(
|
|
554
|
+
"medical-notes-workbench.subagent-batch-plan.dev.v1",
|
|
555
|
+
"subagent-batch-plan.schema.json",
|
|
556
|
+
SubagentBatchPlan,
|
|
557
|
+
"Subagent batch plan used by plan-subagents.",
|
|
558
|
+
),
|
|
559
|
+
ContractSchemaTarget(
|
|
560
|
+
"medical-notes-workbench.subagent-plan-attestation.dev.v1",
|
|
561
|
+
"subagent-plan-attestation.schema.json",
|
|
562
|
+
SubagentPlanAttestation,
|
|
563
|
+
"Workbench-signed attestation proving a subagent plan came from plan-subagents.",
|
|
564
|
+
),
|
|
565
|
+
ContractSchemaTarget(
|
|
566
|
+
"medical-notes-workbench.subagent-work-item.dev.v1",
|
|
567
|
+
"subagent-work-item.schema.json",
|
|
568
|
+
SubagentWorkItem,
|
|
569
|
+
"Single work item inside a subagent plan.",
|
|
570
|
+
),
|
|
571
|
+
ContractSchemaTarget(
|
|
572
|
+
"medical-notes-workbench.subagent-output-contract.dev.v1",
|
|
573
|
+
"subagent-output-contract.schema.json",
|
|
574
|
+
SubagentOutputContract,
|
|
575
|
+
"Machine-readable boundary between subagent output and parent finalization.",
|
|
576
|
+
),
|
|
577
|
+
ContractSchemaTarget(
|
|
578
|
+
"medical-notes-workbench.expected-output-schema.dev.v1",
|
|
579
|
+
"expected-output-schema.schema.json",
|
|
580
|
+
ExpectedOutputSchema,
|
|
581
|
+
"Expected output schema descriptor for subagent work.",
|
|
582
|
+
),
|
|
583
|
+
ContractSchemaTarget(
|
|
584
|
+
"medical-notes-workbench.triage-note-plan.dev.v1",
|
|
585
|
+
"triage-note-plan.schema.json",
|
|
586
|
+
TriageNotePlan,
|
|
587
|
+
"Triage note plan contract used by process-chats.",
|
|
588
|
+
),
|
|
589
|
+
ContractSchemaTarget(
|
|
590
|
+
"medical-notes-workbench.raw-coverage.dev.v1",
|
|
591
|
+
"raw-coverage.schema.json",
|
|
592
|
+
RawCoverage,
|
|
593
|
+
"Raw chat coverage contract used before publishing.",
|
|
594
|
+
),
|
|
595
|
+
ContractSchemaTarget(
|
|
596
|
+
"medical-notes-workbench.publish-manifest.dev.v1",
|
|
597
|
+
"publish-manifest.schema.json",
|
|
598
|
+
PublishManifest,
|
|
599
|
+
"Publish manifest contract for staged notes.",
|
|
600
|
+
),
|
|
601
|
+
ContractSchemaTarget(
|
|
602
|
+
"medical-notes-workbench.publish-receipt.dev.v1",
|
|
603
|
+
"publish-receipt.schema.json",
|
|
604
|
+
PublishReceipt,
|
|
605
|
+
"Publish dry-run/apply receipt contract.",
|
|
606
|
+
),
|
|
607
|
+
ContractSchemaTarget(
|
|
608
|
+
"medical-notes-workbench.related-notes-export.dev.v1",
|
|
609
|
+
"related-notes-export.schema.json",
|
|
610
|
+
RelatedNotesExport,
|
|
611
|
+
"Related Notes plugin export consumed by linker and fix-wiki.",
|
|
612
|
+
),
|
|
613
|
+
ContractSchemaTarget(
|
|
614
|
+
"medical-notes-workbench.workbench-paths-config.dev.v1",
|
|
615
|
+
"workbench-paths-config.schema.json",
|
|
616
|
+
WorkbenchPathsConfig,
|
|
617
|
+
"Workbench path configuration contract.",
|
|
618
|
+
),
|
|
619
|
+
ContractSchemaTarget(
|
|
620
|
+
"medical-notes-workbench.path-resolution-result.dev.v1",
|
|
621
|
+
"path-resolution-result.schema.json",
|
|
622
|
+
PathResolutionResult,
|
|
623
|
+
"Typed path resolution result.",
|
|
624
|
+
),
|
|
625
|
+
ContractSchemaTarget(
|
|
626
|
+
"medical-notes-workbench.path-resolution-blocker.dev.v1",
|
|
627
|
+
"path-resolution-blocker.schema.json",
|
|
628
|
+
PathResolutionBlocker,
|
|
629
|
+
"Typed path resolution blocker.",
|
|
630
|
+
),
|
|
631
|
+
)
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
def iter_contract_schema_targets() -> Iterable[ContractSchemaTarget]:
|
|
635
|
+
"""Yield repo-owned schema targets in deterministic filename order."""
|
|
636
|
+
|
|
637
|
+
return tuple(sorted(CONTRACT_SCHEMA_TARGETS, key=lambda target: target.filename))
|