{"_id":"@aihq/ai-continuum","_rev":"2-d9e58034fbf7716551fe39006462cfa2","name":"@aihq/ai-continuum","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@aihq/ai-continuum","version":"0.1.0","_id":"@aihq/ai-continuum@0.1.0","maintainers":[{"name":"samartomar","email":"samar_tomar@hotmail.com"}],"bin":{"ai-os":"dist/cli/ai-os.js","ai-os-mcp":"dist/index.js","ai-continuum":"dist/cli/ai-os.js"},"dist":{"shasum":"888789a29dda68374907ded576ae5c6048ebb123","tarball":"https://registry.npmjs.org/@aihq/ai-continuum/-/ai-continuum-0.1.0.tgz","fileCount":711,"integrity":"sha512-w5/Y9qNGeoAo9aKXLXwcDXOzsuBbbiFFQqWcL98S33CS22A7Tn0rJDlZHRNUvoiSgBS9V7Im9meVZs0rMMgZaQ==","signatures":[{"sig":"MEUCIQDT1fHGu1yWmT/lSRslErzb+4ezhyEaAUGRC7Bk+2T2AgIgN2+MV6PkmL2K0UJY4SIDk5jWBak4EyLp7o1l2aXgH6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3682366},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"1a82b5fe68e579c41ff2a585ce5bd69c4ebb72f3","scripts":{"dev":"tsx watch src/index.ts","lint":"node scripts/lint-no-console.mjs","test":"vitest run","build":"tsc && node scripts/copy-package-assets.mjs","start":"node dist/index.js","prepack":"npm run build","ai-os:ui":"npm run build && node dist/cli/ai-os-ui.js","ai-os:kpi":"npm run build && node dist/cli/ai-os-kpi.js","smoke:mcp":"npm run build && node dist/cli/smoke-mcp.js","typecheck":"tsc --noEmit","ai-os:init":"npm run build && node dist/cli/ai-os-init.js","ai-os:pack":"npm run build && node dist/cli/ai-os-pack.js","ai-os:sync":"npm run build && node dist/cli/ai-os-sync.js","test:watch":"vitest","ai-os:cloud":"npm run build && node dist/cli/ai-os-cloud.js","ai-os:index":"npm run build && node dist/cli/ai-os-index.js","ai-os:setup":"npm run build && node dist/cli/ai-os-setup.js","ai-os:start":"npm run build && node dist/cli/ai-os-start.js","ai-os:import":"npm run build && node dist/cli/ai-os-import.js","ai-os:launch":"npm run build && node dist/cli/ai-os-launch.js","ai-os:lesson":"npm run build && node dist/cli/ai-os-lesson.js","ai-os:recall":"npm run build && node dist/cli/ai-os-recall.js","ai-os:review":"npm run build && node dist/cli/ai-os-review.js","ai-os:search":"npm run build && node dist/cli/ai-os-recall.js","ai-os:status":"npm run build && node dist/cli/ai-os-status.js","ai-os:capture":"npm run build && node dist/cli/ai-os-capture.js","ai-os:connect":"npm run build && node dist/cli/ai-os-connect.js","ai-os:context":"npm run build && node dist/cli/ai-os-context.js","ai-os:promote":"npm run build && node dist/cli/ai-os-promote.js","ai-os:session":"npm run build && node dist/cli/ai-os-session.js","test:coverage":"vitest run --coverage","ai-os:coauthor":"npm run build && node dist/cli/ai-os-coauthor.js","ai-os:obsidian":"npm run build && node dist/cli/ai-os-obsidian.js","lifecycle:live":"npm run build && node dist/cli/live-lifecycle-run.js","validate-vault":"tsx src/cli/validate-vault.ts","ai-os:dashboard":"npm run build && node dist/cli/ai-os-dashboard.js","ai-os:export-shim":"npm run build && node dist/cli/ai-os-export-shim.js","ai-os:materialize":"npm run build && node dist/cli/ai-os-materialize.js","ai-os:new-project":"npm run build && node dist/cli/ai-os-new-project.js","ai-os:recall-eval":"npm run build && node dist/cli/ai-os-recall-eval.js","ai-os:user-doctor":"npm run build && node dist/cli/ai-os-user-doctor.js","ai-os:onboard-user":"npm run build && node dist/cli/ai-os-onboard-user.js","lifecycle:decision":"npm run build && node dist/cli/lifecycle-drill.js","secret:materialize":"npm run build && node dist/cli/secret-materialize.js","ai-os:memory-review":"npm run build && node dist/cli/ai-os-memory-review.js","ai-os:cold-read-eval":"npm run build && node dist/cli/ai-os-cold-read-eval.js","ai-os:control-center":"npm run build && node dist/cli/ai-os-control-center.js","ai-os:project-review":"npm run build && node dist/cli/ai-os-project-review.js","ai-os:activation-eval":"npm run build && node dist/cli/ai-os-activation-eval.js","ai-os:feedback-intake":"npm run build && node dist/cli/ai-os-feedback-intake.js","ai-os:agent-handoff-kit":"npm run build && node dist/cli/ai-os-agent-handoff-kit.js","ai-os:lifecycle-capture":"npm run build && node dist/cli/ai-os-lifecycle-capture.js","beta:control-center-kit":"npm run build && node scripts/build-control-center-beta-kit.mjs","secret-locator:contract":"npm run build && node dist/cli/secret-locator-contract.js","ai-os:return-context-eval":"npm run build && node dist/cli/ai-os-return-context-eval.js","ai-os:agent-handoff-import":"npm run build && node dist/cli/ai-os-agent-handoff-import.js","ai-os:memory-roadmap-status":"npm run build && node dist/cli/ai-os-memory-roadmap-status.js","ai-os:public-release-preflight":"npm run build && node dist/cli/ai-os-public-release-preflight.js"},"_npmUser":{"name":"samartomar","email":"samar_tomar@hotmail.com"},"overrides":{"qs":"6.15.2","hono":"4.12.32","vite":"8.0.16","sharp":"0.35.3","adm-zip":"0.6.0"},"_npmVersion":"11.17.0","description":"MCP server exposing AI-Continuum vault tools","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ajv":"^8.17.1","zod":"^3.23.8","sqlite":"^5.1.1","js-yaml":"^4.1.0","sqlite3":"^6.0.1","fast-glob":"^3.3.2","ajv-formats":"^3.0.1","gray-matter":"^4.0.3","neo4j-driver":"^6.0.1","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^4.1.6","typescript":"^5.7.2","@types/node":"^22.10.5","@types/js-yaml":"^4.0.9","@vitest/coverage-v8":"^4.1.6"},"optionalDependencies":{"usearch":"^2.26.0","@huggingface/transformers":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-continuum_0.1.0_1785411531515_0.21795161157092613","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aihq/ai-continuum","version":"0.2.0","description":"MCP server exposing AI-Continuum vault tools","publishConfig":{"access":"public"},"type":"module","main":"dist/index.js","bin":{"ai-os":"dist/cli/ai-os.js","ai-continuum":"dist/cli/ai-os.js","ai-os-mcp":"dist/index.js","ai-continuum-mcp":"dist/index.js"},"scripts":{"build":"tsc && node scripts/copy-package-assets.mjs","prepack":"npm run build","typecheck":"tsc --noEmit","lint":"node scripts/lint-no-console.mjs","dev":"tsx watch src/index.ts","start":"node dist/index.js","secret-locator:contract":"npm run build && node dist/cli/secret-locator-contract.js","secret:materialize":"npm run build && node dist/cli/secret-materialize.js","lifecycle:live":"npm run build && node dist/cli/live-lifecycle-run.js","lifecycle:decision":"npm run build && node dist/cli/lifecycle-drill.js","smoke:mcp":"npm run build && node dist/cli/smoke-mcp.js","ai-os:user-doctor":"npm run build && node dist/cli/ai-os-user-doctor.js","ai-continuum:user-doctor":"npm run build && node dist/cli/ai-os-user-doctor.js","ai-os:onboard-user":"npm run build && node dist/cli/ai-os-onboard-user.js","ai-continuum:onboard-user":"npm run build && node dist/cli/ai-os-onboard-user.js","ai-os:new-project":"npm run build && node dist/cli/ai-os-new-project.js","ai-continuum:new-project":"npm run build && node dist/cli/ai-os-new-project.js","ai-os:capture":"npm run build && node dist/cli/ai-os-capture.js","ai-continuum:capture":"npm run build && node dist/cli/ai-os-capture.js","ai-os:lesson":"npm run build && node dist/cli/ai-os-lesson.js","ai-continuum:lesson":"npm run build && node dist/cli/ai-os-lesson.js","ai-os:session":"npm run build && node dist/cli/ai-os-session.js","ai-continuum:session":"npm run build && node dist/cli/ai-os-session.js","ai-os:memory-review":"npm run build && node dist/cli/ai-os-memory-review.js","ai-continuum:memory-review":"npm run build && node dist/cli/ai-os-memory-review.js","ai-os:recall":"npm run build && node dist/cli/ai-os-recall.js","ai-continuum:recall":"npm run build && node dist/cli/ai-os-recall.js","ai-os:search":"npm run build && node dist/cli/ai-os-recall.js","ai-continuum:search":"npm run build && node dist/cli/ai-os-recall.js","ai-os:index":"npm run build && node dist/cli/ai-os-index.js","ai-continuum:index":"npm run build && node dist/cli/ai-os-index.js","ai-os:activation-eval":"npm run build && node dist/cli/ai-os-activation-eval.js","ai-continuum:activation-eval":"npm run build && node dist/cli/ai-os-activation-eval.js","ai-os:recall-eval":"npm run build && node dist/cli/ai-os-recall-eval.js","ai-continuum:recall-eval":"npm run build && node dist/cli/ai-os-recall-eval.js","ai-os:connect":"npm run build && node dist/cli/ai-os-connect.js","ai-continuum:connect":"npm run build && node dist/cli/ai-os-connect.js","ai-os:cloud":"npm run build && node dist/cli/ai-os-cloud.js","ai-continuum:cloud":"npm run build && node dist/cli/ai-os-cloud.js","ai-os:sync":"npm run build && node dist/cli/ai-os-sync.js","ai-continuum:sync":"npm run build && node dist/cli/ai-os-sync.js","ai-os:materialize":"npm run build && node dist/cli/ai-os-materialize.js","ai-continuum:materialize":"npm run build && node dist/cli/ai-os-materialize.js","ai-os:kpi":"npm run build && node dist/cli/ai-os-kpi.js","ai-continuum:kpi":"npm run build && node dist/cli/ai-os-kpi.js","ai-os:coauthor":"npm run build && node dist/cli/ai-os-coauthor.js","ai-continuum:coauthor":"npm run build && node dist/cli/ai-os-coauthor.js","ai-os:public-release-preflight":"npm run build && node dist/cli/ai-os-public-release-preflight.js","ai-continuum:public-release-preflight":"npm run build && node dist/cli/ai-os-public-release-preflight.js","ai-os:agent-handoff-kit":"npm run build && node dist/cli/ai-os-agent-handoff-kit.js","ai-continuum:agent-handoff-kit":"npm run build && node dist/cli/ai-os-agent-handoff-kit.js","ai-os:agent-handoff-import":"npm run build && node dist/cli/ai-os-agent-handoff-import.js","ai-continuum:agent-handoff-import":"npm run build && node dist/cli/ai-os-agent-handoff-import.js","ai-os:feedback-intake":"npm run build && node dist/cli/ai-os-feedback-intake.js","ai-continuum:feedback-intake":"npm run build && node dist/cli/ai-os-feedback-intake.js","ai-os:obsidian":"npm run build && node dist/cli/ai-os-obsidian.js","ai-continuum:obsidian":"npm run build && node dist/cli/ai-os-obsidian.js","ai-os:status":"npm run build && node dist/cli/ai-os-status.js","ai-continuum:status":"npm run build && node dist/cli/ai-os-status.js","ai-os:context":"npm run build && node dist/cli/ai-os-context.js","ai-continuum:context":"npm run build && node dist/cli/ai-os-context.js","ai-os:pack":"npm run build && node dist/cli/ai-os-pack.js","ai-continuum:pack":"npm run build && node dist/cli/ai-os-pack.js","ai-os:start":"npm run build && node dist/cli/ai-os-start.js","ai-continuum:start":"npm run build && node dist/cli/ai-os-start.js","ai-os:review":"npm run build && node dist/cli/ai-os-review.js","ai-continuum:review":"npm run build && node dist/cli/ai-os-review.js","ai-os:promote":"npm run build && node dist/cli/ai-os-promote.js","ai-continuum:promote":"npm run build && node dist/cli/ai-os-promote.js","ai-os:init":"npm run build && node dist/cli/ai-os-init.js","ai-continuum:init":"npm run build && node dist/cli/ai-os-init.js","ai-os:setup":"npm run build && node dist/cli/ai-os-setup.js","ai-continuum:setup":"npm run build && node dist/cli/ai-os-setup.js","ai-os:import":"npm run build && node dist/cli/ai-os-import.js","ai-continuum:import":"npm run build && node dist/cli/ai-os-import.js","ai-os:lifecycle-capture":"npm run build && node dist/cli/ai-os-lifecycle-capture.js","ai-continuum:lifecycle-capture":"npm run build && node dist/cli/ai-os-lifecycle-capture.js","ai-os:export-shim":"npm run build && node dist/cli/ai-os-export-shim.js","ai-continuum:export-shim":"npm run build && node dist/cli/ai-os-export-shim.js","ai-os:project-review":"npm run build && node dist/cli/ai-os-project-review.js","ai-continuum:project-review":"npm run build && node dist/cli/ai-os-project-review.js","ai-os:cold-read-eval":"npm run build && node dist/cli/ai-os-cold-read-eval.js","ai-continuum:cold-read-eval":"npm run build && node dist/cli/ai-os-cold-read-eval.js","ai-os:return-context-eval":"npm run build && node dist/cli/ai-os-return-context-eval.js","ai-continuum:return-context-eval":"npm run build && node dist/cli/ai-os-return-context-eval.js","ai-os:dashboard":"npm run build && node dist/cli/ai-os-dashboard.js","ai-continuum:dashboard":"npm run build && node dist/cli/ai-os-dashboard.js","ai-os:control-center":"npm run build && node dist/cli/ai-os-control-center.js","ai-continuum:control-center":"npm run build && node dist/cli/ai-os-control-center.js","ai-os:ui":"npm run build && node dist/cli/ai-os-ui.js","ai-continuum:ui":"npm run build && node dist/cli/ai-os-ui.js","beta:control-center-kit":"npm run build && node scripts/build-control-center-beta-kit.mjs","ai-os:launch":"npm run build && node dist/cli/ai-os-launch.js","ai-continuum:launch":"npm run build && node dist/cli/ai-os-launch.js","ai-os:memory-roadmap-status":"npm run build && node dist/cli/ai-os-memory-roadmap-status.js","ai-continuum:memory-roadmap-status":"npm run build && node dist/cli/ai-os-memory-roadmap-status.js","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","validate-vault":"tsx src/cli/validate-vault.ts"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","ajv":"^8.17.1","ajv-formats":"^3.0.1","fast-glob":"^3.3.2","gray-matter":"^4.0.3","js-yaml":"^4.1.0","neo4j-driver":"^6.0.1","sqlite":"^5.1.1","sqlite3":"^6.0.1","zod":"^3.23.8"},"optionalDependencies":{"@huggingface/transformers":"^4.2.0","usearch":"^2.26.0"},"overrides":{"qs":"6.15.2","hono":"4.12.27"},"devDependencies":{"@types/js-yaml":"^4.0.9","@types/node":"^22.10.5","@vitest/coverage-v8":"^4.1.6","tsx":"^4.19.2","typescript":"^5.7.2","vitest":"^4.1.6"},"engines":{"node":">=20"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/samartomar/ai-os.git","directory":"platform/apps/mcp-server"},"private":false,"gitHead":"3d49257e385a5db77324768ed9b364fa9eff67d5","types":"./dist/index.d.ts","_id":"@aihq/ai-continuum@0.2.0","bugs":{"url":"https://github.com/samartomar/ai-os/issues"},"homepage":"https://github.com/samartomar/ai-os#readme","_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-WcMMqj218SppSEdRXNxwA5jGuo8TadHJRZTqU1ezesNoRSgMe48vZIfQc5JMeuiQEuNB5tYnio8kIV0bSGWE0g==","shasum":"b6e6eb3982973833c54f09533d7a0d9b0f978585","tarball":"https://registry.npmjs.org/@aihq/ai-continuum/-/ai-continuum-0.2.0.tgz","fileCount":510,"unpackedSize":2910097,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDnXnyQEVqsJa7A971U/NatO3wZhZVWgYqlkXYH7h0gFwIhAPuUYG0lqADmAAPil8Z9fjJnA73hLUZvyvep2AmKlq6K"}]},"_npmUser":{"name":"samartomar","email":"samar_tomar@hotmail.com"},"directories":{},"maintainers":[{"name":"samartomar","email":"samar_tomar@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-continuum_0.2.0_1785483622852_0.6056337035976718"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T11:38:51.400Z","modified":"2026-07-31T07:40:23.227Z","0.1.0":"2026-07-30T11:38:51.678Z","0.2.0":"2026-07-31T07:40:23.044Z"},"description":"MCP server exposing AI-Continuum vault tools","maintainers":[{"name":"samartomar","email":"samar_tomar@hotmail.com"}],"readme":"# MCP Server\n\nCloud MCP is primary. Local stdio MCP is the v1 fallback implemented here.\n\n## AI-Continuum Pro Package\n\n```bash\nnpm install -g @aihq/ai-continuum\nai-continuum setup --dry-run\nai-continuum setup\n```\n\nFor a one-shot dry run without a global install:\n\n```bash\nnpm exec --yes --package @aihq/ai-continuum@0.1.0 -- ai-continuum setup --dry-run\n```\n\n## v1 Tools\n\n- memory.get_bootstrap\n- memory.get_reconstruction_packet\n- memory.search_vault\n- memory.submit_candidate\n- memory.write_handoff\n- memory.validate_vault\n- memory.rebuild_from_git\n\n## Local Development\n\n```bash\nnpm install\nnpm run typecheck\nnpm test\nnpm run build\n```\n\nRun the stdio server:\n\n```bash\nnpm run build\nnode dist/index.js\n```\n\nRun vault validation directly:\n\n```bash\nnpm run validate-vault\n```\n\nRun the local stdio protocol smoke test:\n\n```bash\nnpm run smoke:mcp\n```\n\nThe smoke command builds the server, launches `dist/index.js` through the MCP\nstdio transport, confirms the current memory and graph tool surface is\nregistered, and calls read-only retrieval/validation tools.\n\nRun the fixture-backed Stage 16 decision drill:\n\n```bash\nnpm run lifecycle:decision -- --python python\n```\n\nThe lifecycle drill launches the MCP stdio server against a temporary fixture\nrepo, calls `memory.submit_candidate`, then runs the Python curator dry-run\nagainst that fixture and requires a `6-capsule-shape` promotion decision.\n\nRun the Stage 17 disposable graph-index builder:\n\n```bash\nnpm run graph:index\n```\n\nThe graph index builder scans `vault/` and writes\n`.var/graph-index/latest.json`. The output is generated and ignored by Git;\nGraphify/Zep/Graphiti providers must treat it as rebuildable index input, not\nsource-of-truth memory.\n\nRun the Graphify provider dry-run adapter:\n\n```bash\nnpm run graph:index\nnpm run graphify:dry-run\n```\n\nThe dry-run consumes `.var/graph-index/latest.json` and writes\n`.var/graph-index/graphify-dry-run.json`. It does not call Graphify, does not\nread credentials, and records `network_enabled: false`.\n\nRun the graph rebuild report:\n\n```bash\nnpm run graph:rebuild-report\n```\n\nThis performs the local graph index and Graphify dry-run steps together, then\nwrites `.var/reports/graph-rebuild/latest.json` with the generated output paths,\ncounts, warnings, and provider boundary.\n\n`memory.rebuild_from_git` runs the same generated graph checkpoint after vault\nvalidation and includes the `.var/` graph paths and counts in its tool output.\n\nRun the Graphify apply preflight plan:\n\n```bash\nnpm run graph:rebuild-report\nnpm run graphify:apply-plan\n```\n\nThe apply plan reads `.var/graph-index/graphify-dry-run.json` and writes\n`.var/reports/graphify-apply-plan/latest.json`. It records the required\n`graphify-api-key` locator, but never reads or materializes a secret value.\nIt also writes `.var/reports/graphify-staging-config/latest.json` and records\nthat staging config is represented but not ready for remote apply. It always\nreturns `apply_enabled: false`, `network_enabled: false`, and `can_apply: false`\nuntil staging config readiness, secret value materialization, provider rebuild\nsemantics, and a valid external-action approval token are implemented.\n\nThe same command also writes\n`.var/reports/secret-locators/graphify-api-key-latest.json`, a locator-only\ncontract report that records metadata without reading or materializing the\nsecret value, and\n`.var/reports/external-approvals/graphify-apply-latest.json`, an approval-token\ncontract report that records token status booleans without accepting or writing\ntoken values, and\n`.var/reports/graphify-executor-readiness/latest.json`, an executor readiness\ncontract report that proves the prerequisite bundle is represented while\nexecution remains blocked, and\n`.var/reports/external-actions/graphify-apply-latest.json`, a redacted\nexternal-action gate report with approval required and execution blocked.\n\nRun the secret-locator contract check directly:\n\n```bash\nnpm run secret-locator:contract\n```\n\nThe command records the non-secret backend reference (`GRAPHIFY_API_KEY`) and\nkeeps `value_materialized: false`, `value_presence_checked: false`, and\n`materialization_allowed: false`. It does not read environment variables or\nexpose secret values.\n\nRun the Graphify rebuild semantics contract directly:\n\n```bash\nnpm run graphify:rebuild-semantics\n```\n\nThe command writes `.var/reports/graphify-rebuild-semantics/latest.json` and\nrecords the contract-only `replace-generated-namespace` strategy. It keeps\nremote reads and writes disabled.\n\nRun the Graphify fake-client contract directly:\n\n```bash\nnpm run graphify:client-contract\n```\n\nThe command writes `.var/reports/graphify-client-contract/latest.json`, captures\nthe read/delete/upsert/verify sequence with a fake transport, and keeps network\naccess, remote execution, and secret handoff disabled.\n\nRun the Graphify apply audit directly:\n\n```bash\nnpm run graphify:apply-audit\n```\n\nThe command writes `.var/reports/graphify-apply-audit/latest.json`, records the\nplanned execution bundle, and redacts sensitive keys or secret-pattern-shaped\nvalues. It does not record remote responses.\n\nRun the Graphify external approval contract directly:\n\n```bash\nnpm run graphify:approval-contract\n```\n\nThe command writes `.var/reports/external-approvals/graphify-apply-latest.json`\nand records that approval is required, no token is present, no token is valid,\nand no token value has been materialized or recorded.\n\nRun the Graphify executor readiness contract directly:\n\n```bash\nnpm run graphify:executor-readiness\n```\n\nThe command writes `.var/reports/graphify-executor-readiness/latest.json` and\nrecords that every prerequisite report is represented, but the executor cannot\nbe instantiated and remote execution remains blocked.\n\nRun the disabled Graphify apply executor contract:\n\n```bash\nnpm run graphify:apply-executor\n```\n\nThe command writes `.var/reports/graphify-apply-executor/latest.json`. It\nconsumes the readiness bundle, refuses execution, and records that no executor\nwas instantiated, no network was opened, no secret or approval token was\nmaterialized, and no remote mutation was attempted.\n\nRun the Graphify executor refusal audit:\n\n```bash\nnpm run graphify:executor-audit\n```\n\nThe command writes `.var/reports/graphify-executor-refusal-audit/latest.json`.\nIt compares readiness and executor reports, verifies the refusal, and records\nthat no mutation, secret materialization, token materialization, or remote\nresponse occurred.\n\nRun the Graphify staging config contract:\n\n```bash\nnpm run graphify:staging-config\nnpm run graphify:staging-config -- --environment staging-smoke --namespace ai-os/vault/staging-smoke --api-base-url https://staging.graphify.example\n```\n\nThe command writes `.var/reports/graphify-staging-config/latest.json`. It\nrecords non-secret staging settings such as environment, namespace, and API\nbase URL host/scheme, while refusing to read `GRAPHIFY_API_KEY`, approval token\nvalues, or open the network.\n\nRun the Graphify apply plan with the same non-secret staging smoke overrides:\n\n```bash\nnpm run graphify:apply-plan -- --staging-environment staging-smoke --staging-namespace ai-os/vault/staging-smoke --staging-api-base-url https://staging.graphify.example\n```\n\nThis can mark staging config ready while still keeping `apply_enabled: false`,\n`network_enabled: false`, and `can_apply: false`.\n\nRun the Graphify transport discovery contract:\n\n```bash\nnpm run graphify:transport-discovery\n```\n\nThe command writes `.var/reports/graphify-transport-discovery/latest.json`. It\nrecords the public Graphify transport surface as local CLI, generated artifacts,\nMCP stdio, and explicit Neo4j push, while blocking an assumed remote HTTP apply\nAPI until provider docs confirm one.\n\nRun the local Graphify CLI contract:\n\n```bash\nnpm run graphify:cli-contract\n```\n\nThe command writes `.var/reports/graphify-cli-contract/latest.json`. It records\nthe `graphifyy` package, `graphify .` command shape, and expected\n`graphify-out/` artifacts without installing or executing Graphify.\n\nRun the Graphify CLI execution gate:\n\n```bash\nnpm run graphify:cli-execution-gate\n```\n\nThe command writes `.var/reports/graphify-cli-execution-gate/latest.json`. It\nrecords the planned install/run commands and required approvals while refusing\npackage installation, command execution, network use, Neo4j push, and remote\nmutation.\n\n## Safety Notes\n\n- Write tools only write to `vault/memory/inbox/`, `vault/handoffs/<domain>/`,\n  and rebuild reports.\n- Candidate and handoff writes scan for known secret patterns before touching disk.\n- Writes use 24-hour stomp protection via `git log --since=24.hours`.\n- `rebuild_from_git` uses `git pull --ff-only`; it never force-pulls or rewrites\n  history.\n- Graphify remains dry-run only in this slice: no network calls and no\n  credential reads.\n- `graphify:apply-plan` is a blocked preflight artifact, not a remote apply.\n- External-action gate reports redact sensitive audit fields and stay under\n  `.var/reports/external-actions/`.\n- Secret-locator contract reports are metadata-only and stay under\n  `.var/reports/secret-locators/`.\n- Graphify rebuild semantics reports are contract-only and stay under\n  `.var/reports/graphify-rebuild-semantics/`.\n- Graphify client contract reports use fake transport only and stay under\n  `.var/reports/graphify-client-contract/`.\n- Graphify apply audit reports are redacted generated artifacts and stay under\n  `.var/reports/graphify-apply-audit/`.\n- External approval contract reports are generated artifacts and stay under\n  `.var/reports/external-approvals/`.\n- Graphify executor readiness reports are generated artifacts and stay under\n  `.var/reports/graphify-executor-readiness/`.\n- Disabled Graphify apply executor reports are generated artifacts and stay\n  under `.var/reports/graphify-apply-executor/`.\n- Graphify executor refusal audit reports are generated artifacts and stay\n  under `.var/reports/graphify-executor-refusal-audit/`.\n- Graphify staging config reports are generated artifacts and stay under\n  `.var/reports/graphify-staging-config/`.\n- Graphify transport discovery reports are generated artifacts and stay under\n  `.var/reports/graphify-transport-discovery/`.\n- Graphify CLI contract reports are generated artifacts and stay under\n  `.var/reports/graphify-cli-contract/`.\n- Graphify CLI execution gate reports are generated artifacts and stay under\n  `.var/reports/graphify-cli-execution-gate/`.\n","readmeFilename":"README.md","homepage":"https://github.com/samartomar/ai-os#readme","repository":{"type":"git","url":"git+https://github.com/samartomar/ai-os.git","directory":"platform/apps/mcp-server"},"bugs":{"url":"https://github.com/samartomar/ai-os/issues"},"license":"MIT"}