feat BREAKING model-routing feat/companion-design-openrouter-lane #2 / 2
aaronrene · 3 days ago · Jun 5, 2026 · Diff

feat(model-routing): companion app design + authorization gate, OpenRouter BYO-key lane

Records the Companion App design + authorization/security gate (Knowtation/Muse substrate layer): bridge-evolution architecture, PKCE+loopback OAuth, the binding loopback-endpoint security model (per-session token, Host/Origin allowlist, DNS-rebinding defense, no ambient authority), derived-artifact storage policy per privacy tier, and the 7-tier test obligations for the future build. Implementation is explicitly deferred behind tenancy + lane-matrix + storage-paradox decisions.

Implements the low-risk OpenRouter provider lane in lib/llm-complete.mjs (KNOWTATION_CHAT_PROVIDER=openrouter, OPENROUTER_API_KEY, OpenAI-compatible wire): explicit-only selection (no implicit activation, backward compatible) and NO silent fallback to a managed lane on failure, preserving the BYO-key privacy/billing contract. Optional HTTP-Referer/X-Title attribution headers. Documented in .env.example. Full 7-tier test suite (32 cases) under test/llm-complete-openrouter-*.test.mjs; 104/104 incl. existing regressions.

Also stores the upstream COMPANION-APP-MODEL-ROUTING-AND-ENRICHMENT-ARCHITECTURE brief.

sha256:3b70a5eb0bfe1e6bbd384f04e04368d6e03cd224734a0e7fde7e1282c4432e49 sha
+69 ~1 symbols
710 changed · 0 in snapshot files
sha256:b91ddcc67708aab3898def87ff5d82604167d2699f22285965bb6aa50af9bb50 snapshot
+69
symbols added
~1
symbol modified
710
files changed
0
dead code introduced
Semantic Changes 70 symbols
+ Companion App — Design & Authorization Gate section Companion App — Design & Authorization Gate L1–251
+ Scope and non-goals section 1. Scope and non-goals L94–104
+ Test obligations (7-tier) for the future implementation section 10. Test obligations (7-tier) for the future implementation L228–242
+ Deferred / open questions (carried from the brief) section 11. Deferred / open questions (carried from the brief) L242–251
+ Architecture section 2. Architecture L104–129
+ code variable variable code L106–123
+ OAuth (native/public client, PKCE + loopback) section 3. OAuth (native/public client, PKCE + loopback) L129–141
+ Localhost endpoint security model (the core of this gate) section 4. Localhost endpoint security model (the core of this gate) L141–164
+ Derived-artifact storage paradox resolution section 5. Derived-artifact storage paradox resolution L164–178
+ table section table L170–174
+ Provenance section 6. Provenance L178–184
+ Packaging / distribution (design intent, not approved to build) section 7. Packaging / distribution (design intent, not approved to build) L184–193
+ Scooling consumption contract section 8. Scooling consumption contract L193–199
+ The OpenRouter lane (implemented on this branch — model-routing precursor) section 9. The OpenRouter lane (implemented on this branch — model-routing precursor) L199–228
+ Review Decision (Authorization Gate) section Review Decision (Authorization Gate) L58–94
+ Hard dependencies (must be accepted BEFORE companion implementation) section Hard dependencies (must be accepted BEFORE companion implementation) L83–94
+ This gate ACCEPTS (design only) section This gate ACCEPTS (design only) L60–72
+ This gate DOES NOT approve (no code) section This gate DOES NOT approve (no code) L72–83
+ Simple Summary section Simple Summary L10–34
+ Technical Summary section Technical Summary L34–58
+ Companion App, Model Routing, Enrichment & Discovery — Architecture Brief section Companion App, Model Routing, Enrichment & Discovery — Architecture Brief L1–474
+ Why this brief exists section 1. Why this brief exists L16–33
+ Decisions to make in the dedicated session section 10. Decisions to make in the dedicated session L405–422
+ Tenancy/teams (developed in conjunction — own design + gate) section 10A. Tenancy/teams (developed in conjunction — own design + gate) L389–405
+ Sequencing & PR/push recommendation section 11. Sequencing & PR/push recommendation L422–436
+ Session prompt (copy for the dedicated session) section 12. Session prompt (copy for the dedicated session) L436–474
+ code[text] variable variable code[text] L438–474
+ The companion app — what it is (and is not) section 2. The companion app — what it is (and is not) L33–55
+ The hard architectural constraint: local inference is invoked CLIENT-SIDE section 3. The hard architectural constraint: local inference is invoked CLIENT-SIDE L55–69
+ Model-routing lane matrix (agreed direction) section 4. Model-routing lane matrix (agreed direction) L69–91
+ table section table L71–79
+ OAuth for the companion (and in-browser) section 5. OAuth for the companion (and in-browser) L91–106
+ Billing model (keep base low, pay for what you use) section 6. Billing model (keep base low, pay for what you use) L106–127
+ Enrichment & Discovery strategy section 7. Enrichment & Discovery strategy L127–179
+ 1 Embeddings ≠ enrichment section 7.1 Embeddings ≠ enrichment L129–135
+ 2 Enrichment timing — recommended combination section 7.2 Enrichment timing — recommended combination L135–148
+ 3 Do NOT overload "proposal" section 7.3 Do NOT overload "proposal" L148–155
+ 4 Discovery is the upstream insight engine (key revelation) section 7.4 Discovery is the upstream insight engine (key revelation) L155–179
+ table section table L161–167
+ What we might have missed (open risks/items to resolve) section 8. What we might have missed (open risks/items to resolve) L179–211
+ Zero-Knowledge Privacy & Post-Quantum Cryptography section 9. Zero-Knowledge Privacy & Post-Quantum Cryptography L211–389
+ 1 What "true zero-knowledge" means (vs today) section 9.1 What "true zero-knowledge" means (vs today) L213–228
+ 2 Why Argon2id replaces scrypt (and when to migrate) section 9.2 Why Argon2id replaces scrypt (and when to migrate) L228–264
+ 3 The two-tier vault model (agreed direction) section 9.3 The two-tier vault model (agreed direction) L264–278
+ table section table L269–273
+ 4 The ZK key hierarchy section 9.4 The ZK key hierarchy L278–306
+ code variable variable code L280–293
+ 5 Post-quantum hardening section 9.5 Post-quantum hardening L306–358
+ table section table L343–352
+ 6 ML-DSA signature migration — sequencing with Muse section 9.6 ML-DSA signature migration — sequencing with Muse L358–371
+ 7 Migration path for existing vaults (you as the only user) section 9.7 Migration path for existing vaults (you as the only user) L371–389
+ captureBody function function captureBody L39–48
+ clearChatEnv function function clearChatEnv L28–30
+ restoreEnv function function restoreEnv L32–37
+ clearChatEnv function function clearChatEnv L26–28
+ restoreEnv function function restoreEnv L30–35
+ clearChatEnv function function clearChatEnv L29–31
+ mockByHost function function mockByHost L41–54
+ restoreEnv function function restoreEnv L33–38
+ clearChatEnv function function clearChatEnv L29–31
+ restoreEnv function function restoreEnv L33–38
+ clearChatEnv function function clearChatEnv L36–38
+ restoreEnv function function restoreEnv L40–45
+ clearChatEnv function function clearChatEnv L27–29
+ restoreEnv function function restoreEnv L31–36
+ clearChatEnv function function clearChatEnv L42–44
+ mockOpenRouterOk function function mockOpenRouterOk L58–68
+ restoreEnv function function restoreEnv L46–51
~ .env.example .example
~ lib/llm-complete.mjs .mjs 1 symbol added, 1 symbol modified
+ openrouterChat function async_function openrouterChat L163–198
Files Changed
−710
0 in snapshot
.cursor/rules/no-docs-only-pr-to-main.mdc .mdc
.cursor/skills/knowtation/SKILL.md .md
.cursor/skills/packs/business-analyst/SKILL.md .md
.cursor/skills/packs/financial-ops/SKILL.md .md
.cursor/skills/packs/marketing-analytics/SKILL.md .md
.cursor/skills/packs/marketing-distribution/SKILL.md .md
.cursor/skills/packs/marketing-editor/SKILL.md .md
.cursor/skills/packs/marketing-research/SKILL.md .md
.cursor/skills/packs/marketing-strategy/SKILL.md .md
.cursor/skills/packs/marketing-visual/SKILL.md .md
.cursor/skills/packs/marketing-writer/SKILL.md .md
.cursor/skills/packs/research-assistant/SKILL.md .md
.env.example .example
.github/SECURITY.md .md
.github/workflows/canister-export-backup.yml .yml
.github/workflows/canister-operator-full-export.yml .yml
.github/workflows/ci.yml .yml
.gitignore .gitignore
.gitleaks.toml .toml
.museattributes .museattributes
.museignore .museignore
.nvmrc .nvmrc
AGENTS.md .md
ARCHITECTURE.md .md
CONTRIBUTING.md .md
COPY-TO-REPO.md .md
LICENSE
MUSE-BRIDGE-WORKFLOW.md .md
README.md .md
backups/.gitignore .gitignore
cli/doctor.mjs .mjs
cli/index.mjs .mjs
config/local.example.yaml .yaml
deploy/bridge/netlify.toml .toml
deploy/paperclip/README.md .md
deploy/paperclip/agents/_templates/blog-seo.yaml .yaml
deploy/paperclip/agents/_templates/clip-factory.yaml .yaml
deploy/paperclip/agents/_templates/newsletter.yaml .yaml
deploy/paperclip/agents/_templates/script-writer.yaml .yaml
deploy/paperclip/agents/_templates/social-poster.yaml .yaml
deploy/paperclip/agents/_templates/thumbnail-brief.yaml .yaml
deploy/paperclip/agents/_universal-preamble.yaml .yaml
deploy/paperclip/agents/bornfree/project.yaml .yaml
deploy/paperclip/agents/controller/controller.yaml .yaml
deploy/paperclip/agents/knowtation/project.yaml .yaml
deploy/paperclip/agents/storefree/project.yaml .yaml
deploy/paperclip/install.sh .sh
deploy/paperclip/scripts/hello-world-test.sh .sh
deploy/paperclip/scripts/load-skills-and-agents.sh .sh
deploy/paperclip/scripts/push-secrets.sh .sh
deploy/paperclip/scripts/run-controller.sh .sh
deploy/paperclip/scripts/wire-knowtation-mcp.sh .sh
deploy/paperclip/skills/descript-import.mjs .mjs
deploy/paperclip/skills/elevenlabs-tts.mjs .mjs
deploy/paperclip/skills/heygen-render.mjs .mjs
deploy/paperclip/skills/hub-client.mjs .mjs
deploy/paperclip/skills/read-playbook.mjs .mjs
deploy/paperclip/skills/read-positioning.mjs .mjs
deploy/paperclip/skills/read-style-guide.mjs .mjs
deploy/paperclip/skills/search-vault.mjs .mjs
deploy/paperclip/skills/write-draft.mjs .mjs
deploy/paperclip/terraform/.terraform.lock.hcl .hcl
deploy/paperclip/terraform/main.tf .tf
deploy/paperclip/terraform/outputs.tf .tf
deploy/paperclip/terraform/terraform.tfvars.example .example
deploy/paperclip/terraform/user-data.sh.tpl .tpl
deploy/paperclip/terraform/variables.tf .tf
deploy/paperclip/terraform/versions.tf .tf
docs/AGENT-INTEGRATION.md .md
docs/AGENT-ORCHESTRATION.md .md
docs/AI-ASSISTED-SETUP.md .md
docs/AIR-IMPROVEMENTS-PLAN.md .md
docs/BLOCKCHAIN-AND-AGENT-PAYMENTS.md .md
docs/CAPTURE-CONTRACT.md .md
docs/CLARIFICATIONS.md .md
docs/CLI-JSON-SCHEMA.md .md
docs/CONNECT-GITHUB-AND-STORAGE-CHECK.md .md
docs/DAEMON-CONSOLIDATION-SPEC.md .md
docs/DOCUMENT-TREE-V0-SPEC.md .md
docs/ECOSYSTEM-VISION.md .md
docs/EXPLORE-DISCOVER-INSIGHTS-TO-VAULT-NOTES.md .md
docs/GETTING-STARTED.md .md
docs/HUB-API.md .md
docs/HUB-METADATA-BULK-OPS.md .md
docs/HUB-PROPOSAL-LLM-FEATURES.md .md
docs/HUB-SETTINGS-HOSTED-UX-PASS.md .md
docs/HUB-WIZARD-HOSTED-STORY.md .md
docs/IMPORT-EVALS.md .md
docs/IMPORT-MANUAL-CHECKLIST.md .md
docs/IMPORT-NORMALIZE-PIPELINE.md .md
docs/IMPORT-SOURCES.md .md
docs/IMPORT-URL-AND-DOCUMENTS-PHASES.md .md
docs/INDEX-SEARCH-VERIFY.md .md
docs/INTENTION-AND-TEMPORAL.md .md
docs/LOCAL-DEV-TEST-GUIDE.md .md
docs/MARKETING-DOCS-LOCATION.md .md
docs/MCP-BLOB-SUMMARIZE-EVALUATION.md .md
docs/MEMORY-AUGMENTATION-PLAN.md .md
docs/MEMORY-CONSOLIDATION-GUIDE.md .md
docs/MESSAGING-INTEGRATION.md .md
docs/METADATA-FACETS-V0-SPEC.md .md
docs/MULTI-VAULT-AND-SCOPED-ACCESS.md .md
docs/MUSE-THIN-BRIDGE.md .md
docs/NEXT-SESSION-HUB-LLM-COST-ROUTING.md .md
docs/NOTE-OUTLINE-MVP-SPEC.md .md
docs/OPERATOR-BACKUP.md .md
docs/PAPERCLIP-AWS-SETUP-AND-IMAC-TRANSITION.md .md
docs/PARITY-MATRIX-HOSTED.md .md
docs/POPULAR-PROMPTS-AND-STARTERS.md .md
docs/PROPOSAL-EVALUATION-RUBRIC-DEFAULT.md .md
docs/PROPOSAL-LIFECYCLE.md .md
docs/PROVENANCE-AND-GIT.md .md
docs/README.md .md
docs/RETRIEVAL-AND-CLI-REFERENCE.md .md
docs/SECTION-SOURCE-BODY-SNIPPET-POLICY.md .md
docs/SECTION-SOURCE-CLI-IMPLEMENTATION-SPEC.md .md
docs/SECTION-SOURCE-HOSTED-AUTHORIZATION-REVIEW-SPEC.md .md
docs/SECTION-SOURCE-HOSTED-IMPLEMENTATION-SPEC.md .md
docs/SECTION-SOURCE-HUB-REST-OPENAPI-SPEC.md .md
docs/SECTION-SOURCE-HUB-UI-SPEC.md .md
docs/SECTION-SOURCE-MCP-IMPLEMENTATION-SPEC.md .md
docs/SECTION-SOURCE-SCOOLING-ADAPTER-PLANNING-SPEC.md .md
docs/SECTION-SOURCE-TRANSPORT-PLAN.md .md
docs/SECTION-SOURCE-V0-SPEC.md .md
docs/SECURITY-AUDIT-PLAN.md .md
docs/SELF-HOSTED-SETUP-CHECKLIST.md .md
docs/SHOWCASE-VAULT.md .md
docs/SPEC.md .md
docs/TEAMS-AND-COLLABORATION.md .md
docs/TEMPLATES-AND-SKILLS.md .md
docs/TOKEN-SAVINGS.md .md
docs/TWO-PATHS-HOSTED-AND-SELF-HOSTED.md .md
docs/WHITEPAPER.md .md
docs/musehub-issues/2026-05-08-issue-38-bridge-exec-bit.md .md
docs/musehub-issues/2026-05-08-issue-39-clone-corruption.md .md
docs/musehub-issues/2026-05-20-issue-XX-bridge-deletes-ignored-files.md .md
docs/musehub-issues/README.md .md
docs/openapi.yaml .yaml
docs/setup.md .md
hub/Dockerfile
hub/README.md .md
hub/audit-log.mjs .mjs
hub/auth-session.mjs .mjs
hub/bridge/.env.example .example
hub/bridge/README.md .md
hub/bridge/index-timing.mjs .mjs
hub/bridge/package-lock.json .json
hub/bridge/package.json .json
hub/bridge/server.mjs .mjs
hub/gateway/README.md .md
hub/gateway/apply-note-provenance.mjs .mjs
hub/gateway/attest-store.mjs .mjs
hub/gateway/billing-constants.mjs .mjs
hub/gateway/billing-http.mjs .mjs
hub/gateway/billing-index-usage.mjs .mjs
hub/gateway/billing-logic.mjs .mjs
hub/gateway/billing-middleware.mjs .mjs
hub/gateway/billing-store.mjs .mjs
hub/gateway/billing-stripe.mjs .mjs
hub/gateway/canister-auth-headers.mjs .mjs
hub/gateway/cors-middleware.mjs .mjs
hub/gateway/icp-attestation-client.mjs .mjs
hub/gateway/mcp-hosted-server.mjs .mjs
hub/gateway/mcp-oauth-provider.mjs .mjs
hub/gateway/mcp-proxy.mjs .mjs
hub/gateway/mcp-tool-acl.mjs .mjs
hub/gateway/metadata-bulk-canister.mjs .mjs
hub/gateway/note-facets.mjs .mjs
hub/gateway/package-lock.json .json
hub/gateway/package.json .json
hub/gateway/parse-multipart.mjs .mjs
hub/gateway/proposal-create-hosted-body.mjs .mjs
hub/gateway/proposal-enrich-hosted.mjs .mjs
hub/gateway/proposal-evaluation-canister-body.mjs .mjs
hub/gateway/proposal-hints-create-context.mjs .mjs
hub/gateway/proposal-llm-store.mjs .mjs
hub/gateway/proposal-review-hints-async.mjs .mjs
hub/gateway/refresh-token-store.mjs .mjs
hub/gateway/request-path.mjs .mjs
hub/gateway/scooling-note-outline-smoke.mjs .mjs
hub/gateway/scooling-write-back-smoke.mjs .mjs
hub/gateway/server.mjs .mjs
hub/gateway/upstream-response-headers.mjs .mjs
hub/hub-delete-vault.mjs .mjs
hub/hub_scope.mjs .mjs
hub/hub_vault_access.mjs .mjs
hub/icp/README.md .md
hub/icp/canister_ids.json .json
hub/icp/dfx.json .json
hub/icp/src/attestation/main.mo .mo
hub/icp/src/hub/JsonValidate.mo .mo
hub/icp/src/hub/Migration.mo .mo
hub/icp/src/hub/main.mo .mo
hub/invites.mjs .mjs
hub/lib/hosted-workspace-resolve.mjs .mjs
hub/lib/hub-evaluator-may-approve.mjs .mjs
hub/lib/refresh-token-core.mjs .mjs
hub/lib/scope-filter.mjs .mjs
hub/package-lock.json .json
hub/package.json .json
hub/proposal-review-triggers-default.json .json
hub/proposal-rubric-default.json .json
hub/proposals-store.mjs .mjs
hub/refresh-tokens.mjs .mjs
hub/roles.mjs .mjs
hub/server.mjs .mjs
lib/air.mjs .mjs
lib/approval-log.mjs .mjs
lib/backlinks.mjs .mjs
lib/bridge-index-job-lock.mjs .mjs
lib/bridge-index-kickoff-response.mjs .mjs
lib/bridge-index-last-indexed.mjs .mjs
lib/bridge-index-preflight-estimate.mjs .mjs
lib/bridge-internal-hmac.mjs .mjs
lib/canister-export-env.mjs .mjs
lib/canister-frontmatter.mjs .mjs
lib/canister-proposal-response-parse.mjs .mjs
lib/capture-inbox.mjs .mjs
lib/chunk-content-hash.mjs .mjs
lib/chunk.mjs .mjs
lib/cluster-semantic.mjs .mjs
lib/config.mjs .mjs
lib/csv-parse-line.mjs .mjs
lib/daemon-cost.mjs .mjs
lib/daemon-llm.mjs .mjs
lib/daemon.mjs .mjs
lib/document-tree.mjs .mjs
lib/embedding.mjs .mjs
lib/errors.mjs .mjs
lib/export.mjs .mjs
lib/extract-tasks.mjs .mjs
lib/ffmpeg-whisper-transcode.mjs .mjs
lib/github-commit-image.mjs .mjs
lib/github-connection.mjs .mjs
lib/hosted-consolidation-advanced.mjs .mjs
lib/hub-bulk-metadata.mjs .mjs
lib/hub-proposal-create-augment.mjs .mjs
lib/hub-proposal-policy.mjs .mjs
lib/hub-proposal-review-hints-job.mjs .mjs
lib/hub-proposal-review-triggers.mjs .mjs
lib/hub-proposal-rubric.mjs .mjs
lib/hub-provenance.mjs .mjs
lib/hub-setup.mjs .mjs
lib/hub-vaults.mjs .mjs
lib/import-source-types.mjs .mjs
lib/import.mjs .mjs
lib/importers/audio.mjs .mjs
lib/importers/chatgpt.mjs .mjs
lib/importers/claude.mjs .mjs
lib/importers/docx.mjs .mjs
lib/importers/excel-xlsx.mjs .mjs
lib/importers/gdrive.mjs .mjs
lib/importers/generic-csv.mjs .mjs
lib/importers/google-sheets.mjs .mjs
lib/importers/jira.mjs .mjs
lib/importers/json-rows.mjs .mjs
lib/importers/linear.mjs .mjs
lib/importers/markdown.mjs .mjs
lib/importers/mem0.mjs .mjs
lib/importers/mif.mjs .mjs
lib/importers/notebooklm.mjs .mjs
lib/importers/notion.mjs .mjs
lib/importers/pdf.mjs .mjs
lib/importers/supabase-memory.mjs .mjs
lib/importers/tabular-import.mjs .mjs
lib/importers/url.mjs .mjs
lib/importers/vcf.mjs .mjs
lib/importers/wallet-csv.mjs .mjs
lib/index-partition.mjs .mjs
lib/indexer-chunk-options.mjs .mjs
lib/indexer.mjs .mjs
lib/keyword-search.mjs .mjs
lib/kmeans.mjs .mjs
lib/list-notes.mjs .mjs
lib/llm-complete.mjs .mjs
lib/load-env.mjs .mjs
lib/media-url-extract.mjs .mjs
lib/memory-consolidate.mjs .mjs
lib/memory-event.mjs .mjs
lib/memory-provider-encrypted.mjs .mjs
lib/memory-provider-file.mjs .mjs
lib/memory-provider-mem0.mjs .mjs
lib/memory-provider-supabase.mjs .mjs
lib/memory-provider-vector.mjs .mjs
lib/memory-session-summary.mjs .mjs
lib/memory.mjs .mjs
lib/muse-thin-bridge.mjs .mjs
lib/note-outline.mjs .mjs
lib/note-state-id.mjs .mjs
lib/operator-canister-backup.mjs .mjs
lib/operator-full-export.mjs .mjs
lib/parallel-embed-pool.mjs .mjs
lib/parse-frontmatter-json.mjs .mjs
lib/proposal-enrich-llm.mjs .mjs
lib/relate.mjs .mjs
lib/repo-root.mjs .mjs
lib/search.mjs .mjs
lib/section-source-note.mjs .mjs
lib/section-source.mjs .mjs
lib/shims/promise-try.mjs .mjs
lib/tag-suggest.mjs .mjs
lib/transcribe.mjs .mjs
lib/url-fetch-safe.mjs .mjs
lib/vault-git-sync.mjs .mjs
lib/vault.mjs .mjs
lib/vector-knn-limit.mjs .mjs
lib/vector-store-sqlite.mjs .mjs
lib/vector-store.mjs .mjs
lib/wikilink.mjs .mjs
lib/write.mjs .mjs
mcp/create-server.mjs .mjs
mcp/http-server.mjs .mjs
mcp/prompts/helpers.mjs .mjs
mcp/prompts/register.mjs .mjs
mcp/resource-subscriptions.mjs .mjs
mcp/resources/graph.mjs .mjs
mcp/resources/image-fetch.mjs .mjs
mcp/resources/listing.mjs .mjs
mcp/resources/metadata.mjs .mjs
mcp/resources/note.mjs .mjs
mcp/resources/pagination.mjs .mjs
mcp/resources/register.mjs .mjs
mcp/sampling.mjs .mjs
mcp/server-instructions.mjs .mjs
mcp/server.mjs .mjs
mcp/stdio-main.mjs .mjs
mcp/tool-telemetry.mjs .mjs
mcp/tools/enrich.mjs .mjs
mcp/tools/hub-proposals.mjs .mjs
mcp/tools/index-enrich.mjs .mjs
mcp/tools/memory.mjs .mjs
mcp/tools/phase-c.mjs .mjs
mcp/tools/sampling-rerank.mjs .mjs
netlify.toml .toml
netlify/functions/bridge-index-background.mjs .mjs
netlify/functions/bridge.mjs .mjs
netlify/functions/consolidation-scheduler.mjs .mjs
netlify/functions/gateway.mjs .mjs
netlify/functions/warmup.mjs .mjs
package-lock.json .json
package.json .json
public/.gitkeep .gitkeep
scripts/canister-decrypt-operator-backup.mjs .mjs
scripts/canister-export-backup.mjs .mjs
scripts/canister-export-backup.sh .sh
scripts/canister-operator-full-export.mjs .mjs
scripts/canister-predeploy.sh .sh
scripts/canister-release-prep.sh .sh
scripts/capture-discord-adapter.mjs .mjs
scripts/capture-file.mjs .mjs
scripts/capture-slack-adapter.mjs .mjs
scripts/capture-telegram-adapter.mjs .mjs
scripts/capture-webhook.mjs .mjs
scripts/check-gateway-cors.mjs .mjs
scripts/check-mcp-hosted-schema.mjs .mjs
scripts/export/.gitkeep .gitkeep
scripts/fixtures/chatgpt-sample/conversations.json .json
scripts/icp-attestation-principal.mjs .mjs
scripts/icp-canister-snapshot-backup.sh .sh
scripts/index-vault.mjs .mjs
scripts/muse-bridge-deploy.sh .sh
scripts/netlify-redirects.mjs .mjs
scripts/post-merge-hub-canister-release.sh .sh
scripts/push-voice-notes-to-hosted.mjs .mjs
scripts/report-empty-hosted-frontmatter.mjs .mjs
scripts/resave-hosted-empty-frontmatter.mjs .mjs
scripts/retrieval-cost-demo.mjs .mjs
scripts/seed-hosted-c-data.mjs .mjs
scripts/seed-vault-dir-to-hub.mjs .mjs
scripts/smoke-hosted-multi-vault.mjs .mjs
scripts/supabase-memory-migration.sql .sql
scripts/test-muse-bridge-safety.sh .sh
scripts/transcribe.mjs .mjs
scripts/validate-deepinfra-enrich.mjs .mjs
scripts/verify-canister-migration.mjs .mjs
scripts/verify-hosted-hub-api.mjs .mjs
scripts/verify-hosted-mcp-checklist.mjs .mjs
scripts/write-to-vault.sh .sh
test/approval-log.test.mjs .mjs
test/attest-endpoint.test.mjs .mjs
test/attest-icp-client.test.mjs .mjs
test/attest-store-dual-write.test.mjs .mjs
test/attestation-canister.test.mjs .mjs
test/auth-refresh-wiring.test.mjs .mjs
test/auth-session.test.mjs .mjs
test/billing-consolidation.test.mjs .mjs
test/billing-logic.test.mjs .mjs
test/bridge-consolidation.test.mjs .mjs
test/bridge-index-auto-routing-contract.test.mjs .mjs
test/bridge-index-cache-contract.test.mjs .mjs
test/bridge-index-job-lock.test.mjs .mjs
test/bridge-index-kickoff-response.test.mjs .mjs
test/bridge-index-last-indexed.test.mjs .mjs
test/bridge-index-preflight-estimate.test.mjs .mjs
test/bridge-index-timing.test.mjs .mjs
test/bridge-internal-hmac.test.mjs .mjs
test/canister-auth-headers.test.mjs .mjs
test/canister-export-env.test.mjs .mjs
test/canister-frontmatter.test.mjs .mjs
test/capture-inbox-payload.test.mjs .mjs
test/chunk-content-hash.test.mjs .mjs
test/chunk.test.mjs .mjs
test/cli.test.mjs .mjs
test/config.test.mjs .mjs
test/consolidation-scheduler.test.mjs .mjs
test/daemon-cost.test.mjs .mjs
test/daemon-llm.test.mjs .mjs
test/daemon.test.mjs .mjs
test/document-tree.test.mjs .mjs
test/embedding-deepinfra-429-backoff.test.mjs .mjs
test/embedding-deepinfra.test.mjs .mjs
test/embedding-fetch-failure-message.test.mjs .mjs
test/embedding-ollama-url.test.mjs .mjs
test/embedding-usage.test.mjs .mjs
test/embedding-voyage-dimension.test.mjs .mjs
test/export-note-record-to-content.test.mjs .mjs
test/extract-tasks-body.test.mjs .mjs
test/fixtures/config/local.yaml .yaml
test/fixtures/config/test-config.yaml .yaml
test/fixtures/docx-import/hello.docx .docx
test/fixtures/generic-csv-import/sample.csv .csv
test/fixtures/import/README.md .md
test/fixtures/import/chatgpt-export/conversations.json .json
test/fixtures/import/claude-export/sample.json .json
test/fixtures/import/empty.md .md
test/fixtures/import/gdrive/doc1.md .md
test/fixtures/import/jira-export/issues.csv .csv
test/fixtures/import/linear-export/issues.csv .csv
test/fixtures/import/mem0-export/sample.json .json
test/fixtures/import/mif/sample.memory.md .md
test/fixtures/import/notebooklm/sample.json .json
test/fixtures/json-rows-import/sample.json .json
test/fixtures/markdown-import/simple.md .md
test/fixtures/pdf-import/hello.pdf .pdf
test/fixtures/vault-fs/approvals/2025-03-15-uniqueprop.md .md
test/fixtures/vault-fs/approvals/2026-03-30-fixture.md .md
test/fixtures/vault-fs/inbox/one.md .md
test/fixtures/vault-fs/inbox/section-source-scooling.md .md
test/fixtures/vault-fs/inbox/two.md .md
test/fixtures/vault-fs/projects/foo/note.md .md
test/fixtures/vcf-import/sample.vcf .vcf
test/gateway-admin-billing-repair.test.mjs .mjs
test/gateway-auth-refresh-wiring.test.mjs .mjs
test/gateway-cors-middleware.test.mjs .mjs
test/gateway-document-tree-rest.test.mjs .mjs
test/gateway-index-status-proxy.test.mjs .mjs
test/gateway-memory-bridge-proxy.test.mjs .mjs
test/gateway-metadata-bulk.test.mjs .mjs
test/gateway-metadata-facets-rest.test.mjs .mjs
test/gateway-muse-approve-body.test.mjs .mjs
test/gateway-muse-proxy-audit.test.mjs .mjs
test/gateway-note-outline-rest.test.mjs .mjs
test/gateway-note-provenance.test.mjs .mjs
test/gateway-notes-copy.test.mjs .mjs
test/gateway-outbound-body-headers.test.mjs .mjs
test/gateway-refresh-token-store.test.mjs .mjs
test/gateway-request-path.test.mjs .mjs
test/gateway-scooling-note-outline-smoke.test.mjs .mjs
test/gateway-scooling-write-back-smoke.test.mjs .mjs
test/gateway-section-source-rest.test.mjs .mjs
test/gateway-session-introspection.test.mjs .mjs
test/gateway-upstream-response-headers.test.mjs .mjs
test/github-commit-image.test.mjs .mjs
test/hosted-allowed-vaults.test.mjs .mjs
test/hosted-consolidation-advanced.test.mjs .mjs
test/hosted-import-integration.test.mjs .mjs
test/hosted-workspace-resolve.test.mjs .mjs
test/hub-api-no-retry-flag.test.mjs .mjs
test/hub-bulk-metadata.test.mjs .mjs
test/hub-client-import-zip.test.mjs .mjs
test/hub-consolidation.test.mjs .mjs
test/hub-copy-env.test.mjs .mjs
test/hub-create-similar-project.test.mjs .mjs
test/hub-delete-vault.test.mjs .mjs
test/hub-detail-panel-shell.test.mjs .mjs
test/hub-detail-read-actions-roles.test.mjs .mjs
test/hub-document-tree-self-hosted-route.test.mjs .mjs
test/hub-evaluator-may-approve.test.mjs .mjs
test/hub-gateway-note-facets.test.mjs .mjs
test/hub-image-upload-route.test.mjs .mjs
test/hub-index-stale-banner.test.mjs .mjs
test/hub-index-status-ui-contract.test.mjs .mjs
test/hub-integration-guides.test.mjs .mjs
test/hub-list-sort.test.mjs .mjs
test/hub-mcp-config.test.mjs .mjs
test/hub-metadata-facets-self-hosted-route.test.mjs .mjs
test/hub-note-outline-self-hosted-route.test.mjs .mjs
test/hub-open-note-seq.test.mjs .mjs
test/hub-project-from-path.test.mjs .mjs
test/hub-proposal-evaluation.test.mjs .mjs
test/hub-proposal-review-triggers.test.mjs .mjs
test/hub-provenance.test.mjs .mjs
test/hub-roles-first-write-guard.test.mjs .mjs
test/hub-scope-filter.test.mjs .mjs
test/hub-section-source-self-hosted-route.test.mjs .mjs
test/hub-section-source-ui-runtime.test.mjs .mjs
test/hub-setup.test.mjs .mjs
test/icp-canister-snapshot-backup.test.mjs .mjs
test/import-audio.test.mjs .mjs
test/import-importers-golden.test.mjs .mjs
test/import-markdown.test.mjs .mjs
test/import-source-types.test.mjs .mjs
test/import-url-importer.test.mjs .mjs
test/index-partition.test.mjs .mjs
test/indexer-chunk-options.test.mjs .mjs
test/json-validate-contract.test.mjs .mjs
test/keyword-search.test.mjs .mjs
test/landing-band-b.test.mjs .mjs
test/landing-ecosystem-css.test.mjs .mjs
test/landing-footer.test.mjs .mjs
test/landing-overview-video.test.mjs .mjs
test/list-notes.test.mjs .mjs
test/llm-complete-deepinfra.test.mjs .mjs
test/llm-complete-prefer-anthropic.test.mjs .mjs
test/mcp-document-tree.test.mjs .mjs
test/mcp-gateway-proxy.test.mjs .mjs
test/mcp-hosted-backlinks.test.mjs .mjs
test/mcp-hosted-canister-user-parity.test.mjs .mjs
test/mcp-hosted-cluster.test.mjs .mjs
test/mcp-hosted-document-tree.test.mjs .mjs
test/mcp-hosted-export.test.mjs .mjs
test/mcp-hosted-extract-tasks.test.mjs .mjs
test/mcp-hosted-hub-create-proposal.test.mjs .mjs
test/mcp-hosted-import.test.mjs .mjs
test/mcp-hosted-metadata-facets.test.mjs .mjs
test/mcp-hosted-note-outline.test.mjs .mjs
test/mcp-hosted-prompts.test.mjs .mjs
test/mcp-hosted-relate.test.mjs .mjs
test/mcp-hosted-resources-r1.test.mjs .mjs
test/mcp-hosted-resources-r3.test.mjs .mjs
test/mcp-hosted-search.test.mjs .mjs
test/mcp-hosted-section-source.test.mjs .mjs
test/mcp-hosted-tag-suggest.test.mjs .mjs
test/mcp-hosted-tools-list.test.mjs .mjs
test/mcp-hosted-transcribe.test.mjs .mjs
test/mcp-hosted-vault-sync.test.mjs .mjs
test/mcp-image-resources.test.mjs .mjs
test/mcp-memory-consolidation.test.mjs .mjs
test/mcp-metadata-facets.test.mjs .mjs
test/mcp-note-outline.test.mjs .mjs
test/mcp-oauth-provider.test.mjs .mjs
test/mcp-prime-resource.test.mjs .mjs
test/mcp-resource-subscriptions.test.mjs .mjs
test/mcp-sampling-enrich.test.mjs .mjs
test/mcp-sampling-index-enrich.test.mjs .mjs
test/mcp-sampling-prefill.test.mjs .mjs
test/mcp-sampling-rerank.test.mjs .mjs
test/mcp-sampling.test.mjs .mjs
test/mcp-section-source.test.mjs .mjs
test/mcp-video-resources.test.mjs .mjs
test/media-url-extract.test.mjs .mjs
test/memory-cli.test.mjs .mjs
test/memory-consolidate.test.mjs .mjs
test/memory-hosted.test.mjs .mjs
test/memory-mcp.test.mjs .mjs
test/memory-topics.test.mjs .mjs
test/memory-verify.test.mjs .mjs
test/memory.test.mjs .mjs
test/metadata-facets.test.mjs .mjs
test/muse-thin-bridge-audit.test.mjs .mjs
test/muse-thin-bridge.test.mjs .mjs
test/note-facets.test.mjs .mjs
test/note-outline.test.mjs .mjs
test/note-state-id.test.mjs .mjs
test/onboarding-wizard.test.mjs .mjs
test/operator-canister-backup.test.mjs .mjs
test/operator-full-export.test.mjs .mjs
test/paperclip-bridges.test.mjs .mjs
test/paperclip-knowtation-skills.test.mjs .mjs
test/parallel-embed-pool.test.mjs .mjs
test/parse-frontmatter-json.test.mjs .mjs
test/parse-multipart.test.mjs .mjs
test/phase0-security.test.mjs .mjs
test/phase1-security.test.mjs .mjs
test/phase2-security.test.mjs .mjs
test/phase3-security.test.mjs .mjs
test/promise-try-shim.test.mjs .mjs
test/proposal-enrich-llm.test.mjs .mjs
test/proposal-hints-create-context.test.mjs .mjs
test/proposal-llm-hosted-prefs.test.mjs .mjs
test/read-transcription-yaml.test.mjs .mjs
test/refresh-token-core.test.mjs .mjs
test/refresh-tokens-store.test.mjs .mjs
test/repo-root.test.mjs .mjs
test/search.test.mjs .mjs
test/section-source-cli-spec.test.mjs .mjs
test/section-source-hosted-auth-spec.test.mjs .mjs
test/section-source-hosted-implementation-spec.test.mjs .mjs
test/section-source-hub-rest-openapi-spec.test.mjs .mjs
test/section-source-hub-ui-spec.test.mjs .mjs
test/section-source-mcp-spec.test.mjs .mjs
test/section-source-policy.test.mjs .mjs
test/section-source-scooling-adapter-spec.test.mjs .mjs
test/section-source-scooling-compatibility-smoke.test.mjs .mjs
test/section-source-transport-plan.test.mjs .mjs
test/section-source.test.mjs .mjs
test/transcribe.test.mjs .mjs
test/url-fetch-safe.test.mjs .mjs
test/vault.test.mjs .mjs
test/vector-store-sqlite-content-hash.test.mjs .mjs
test/vector-store-sqlite.test.mjs .mjs
test/wikilink.test.mjs .mjs
test/write.test.mjs .mjs
vault/archive/.gitkeep .gitkeep
vault/areas/.gitkeep .gitkeep
vault/captures/.gitkeep .gitkeep
vault/imports/chatgpt/Test_conversation.md .md
vault/imports/test/foo.md .md
vault/inbox/.gitkeep .gitkeep
vault/inbox/audio_New_Recording_5.md .md
vault/inbox/file_phase5-test.md .md
vault/inbox/foo.md .md
vault/inbox/phase4-test.md .md
vault/media/audio/.gitkeep .gitkeep
vault/media/video/.gitkeep .gitkeep
vault/meta/.gitkeep .gitkeep
vault/projects/born-free/notes.md .md
vault/projects/born-free/outlines/positioning-and-messaging-2026-04.md .md
vault/projects/born-free/outlines/positioning-and-messaging-2026-04.md.bak .bak
vault/projects/born-free/outlines/positioning-umbrella-experiment-2026-04.md .md
vault/projects/born-free/playbooks/agentic-marketing-framework.md .md
vault/projects/born-free/playbooks/influencer-outreach.md .md
vault/projects/born-free/style-guide/voice-and-boundaries.md .md
vault/projects/default/.gitkeep .gitkeep
vault/projects/knowtation/outlines/openclaw-byoa-addendum-2026-05-07.md .md
vault/projects/knowtation/outlines/positioning-and-messaging-2026-04.md .md
vault/projects/knowtation/research/2026-05-07-architecture-final-decision.md .md
vault/projects/knowtation/research/public-sources-2026.md .md
vault/projects/knowtation/style-guide/voice-and-boundaries.md .md
vault/projects/media/.gitkeep .gitkeep
vault/projects/store-free/outlines/positioning-and-messaging-2026-04.md .md
vault/projects/store-free/research/competitive-snapshot-2026-04-24.md .md
vault/projects/store-free/research/public-sources-2026.md .md
vault/projects/store-free/style-guide/voice-and-boundaries.md .md
vault/showcase/README.md .md
vault/showcase/areas/personal/reading-list.md .md
vault/showcase/inbox/quick-capture.md .md
vault/showcase/projects/sample-build/01-overview.md .md
vault/showcase/projects/sample-build/02-decisions.md .md
vault/showcase/reference/snippets.md .md
vault/templates/.gitkeep .gitkeep
vault/templates/business-ops/README.md .md
vault/templates/business-ops/competitive/landscape-q2-2026.md .md
vault/templates/business-ops/customers/acme-corp-brief.md .md
vault/templates/business-ops/decisions/001-tech-stack.md .md
vault/templates/business-ops/inbox/welcome.md .md
vault/templates/business-ops/meetings/2026-04-07-kickoff.md .md
vault/templates/business-ops/playbooks/incident-response.md .md
vault/templates/content-creation/README.md .md
vault/templates/content-creation/drafts/blog-why-vault-first.md .md
vault/templates/content-creation/inbox/welcome.md .md
vault/templates/content-creation/outlines/book-chapter-3-outline.md .md
vault/templates/content-creation/published/2026-03-launch-post.md .md
vault/templates/content-creation/research/market-research-clip.md .md
vault/templates/content-creation/style-guide/voice-and-tone.md .md
vault/templates/education/README.md .md
vault/templates/education/assignments/week-3-data-structures.md .md
vault/templates/education/courses/cs101-intro/syllabus.md .md
vault/templates/education/inbox/welcome.md .md
vault/templates/education/resources/recommended-reading.md .md
vault/templates/education/schedule/weekly-schedule.md .md
vault/templates/education/study-notes/lecture-2026-04-07.md .md
vault/templates/engineering-team/README.md .md
vault/templates/engineering-team/architecture/001-api-design.md .md
vault/templates/engineering-team/inbox/welcome.md .md
vault/templates/engineering-team/incidents/2026-04-incident-template.md .md
vault/templates/engineering-team/onboarding/new-engineer.md .md
vault/templates/engineering-team/retrospectives/sprint-42-retro.md .md
vault/templates/engineering-team/runbooks/deploy-production.md .md
vault/templates/finance/README.md .md
vault/templates/finance/inbox/welcome.md .md
vault/templates/finance/positions/portfolio-overview.md .md
vault/templates/finance/reports/q1-2026-summary.md .md
vault/templates/finance/tax/2026-taxable-events.md .md
vault/templates/finance/thesis/btc-macro-thesis.md .md
vault/templates/finance/transactions/2026-04-02-icp-transfer.md .md
vault/templates/personal-knowledge/README.md .md
vault/templates/personal-knowledge/areas/health/fitness-log.md .md
vault/templates/personal-knowledge/inbox/quick-thought.md .md
vault/templates/personal-knowledge/journal/2026-04-07.md .md
vault/templates/personal-knowledge/projects/side-project/overview.md .md
vault/templates/personal-knowledge/reference/tool-comparison.md .md
vault/templates/research-lab/README.md .md
vault/templates/research-lab/decisions/001-methodology-choice.md .md
vault/templates/research-lab/experiments/2026-04-sample-run.md .md
vault/templates/research-lab/inbox/welcome.md .md
vault/templates/research-lab/literature/example-paper-review.md .md
vault/templates/research-lab/meetings/2026-04-07-lab-sync.md .md
vault/templates/research-lab/protocols/experiment-protocol-v1.md .md
vault/templates/smart-home/README.md .md
vault/templates/smart-home/automations/thermostat-schedule.md .md
vault/templates/smart-home/devices/living-room-hub.md .md
vault/templates/smart-home/energy/2026-04-usage-log.md .md
vault/templates/smart-home/household/guest-wifi-setup.md .md
vault/templates/smart-home/inbox/welcome.md .md
vault/templates/smart-home/maintenance/hvac-spring-service.md .md
web/README.md .md
web/assets/favicon.png .png
web/hub/CHANGELOG.md .md
web/hub/config.js .js
web/hub/consolidation-ui-logic.mjs .mjs
web/hub/hub-client-import-zip.mjs .mjs
web/hub/hub-import-zip-shim.mjs .mjs
web/hub/hub-integration-guides.mjs .mjs
web/hub/hub-list-sort.mjs .mjs
web/hub/hub.css .css
web/hub/hub.js .js
web/hub/index.html .html
web/hub/onboarding-wizard.mjs .mjs
web/index.html .html

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:3b70a5eb0bfe1e6bbd384f04e04368d6e03cd224734a0e7fde7e1282c4432e49 --body "your comment"