{"_id":"@aiosbrain/aios","_rev":"6-15def28052d30ce85c809d2a99ed7368","name":"@aiosbrain/aios","dist-tags":{"latest":"2.0.0"},"versions":{"0.9.1":{"name":"@aiosbrain/aios","version":"0.9.1","license":"MIT","_id":"@aiosbrain/aios@0.9.1","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"homepage":"https://github.com/aiosbrain/aios-workspace#readme","bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"bin":{"aios":"scripts/aios.mjs"},"dist":{"shasum":"bf4e279d47271ee742af252dc158cbeff8911ca3","tarball":"https://registry.npmjs.org/@aiosbrain/aios/-/aios-0.9.1.tgz","fileCount":606,"integrity":"sha512-jUYD43LSI3w2AIC918stf9+6VzgA5vl///cCnufKzUaf9K8M/9+RThts0LlqlhuQDTVup/a/f+BbVQ2QA/NiPw==","signatures":[{"sig":"MEYCIQCDdw+csHylKXy2dYK+V+XSKmBSONorH/hHcIIKdIGiPAIhAOTkxCQ3R5HUW9lwy2GRV4eAX/xNhGp3IfzajXU0W2Q/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4264794},"type":"module","engines":{"node":">=22 <23"},"gitHead":"4074c13e4e31d027dcd5041b1dab5783b97eeeec","scripts":{"gui":"node scripts/run-gui.mjs","aios":"dotenvx run -- node scripts/aios.mjs","help":"node scripts/npm-menu.mjs","lint":"eslint scripts validation gui/server gui/client/src src test packages","test":"npm run test:prepare && npm run test:node && npm run test:client && npm run test:rust","setup":"npm ci && npm run gui:build","format":"prettier --write .","app:dev":"npm run gui:preflight && npm run gui:build && dotenvx run -- tauri dev","test:ux":"node test/ux/run-ux.mjs","app:icon":"tauri icon","lint:fix":"eslint scripts validation gui/server gui/client/src src test packages --fix","app:build":"npm run gui:preflight && npm run gui:build && tauri build","gui:build":"npm run build --workspace gui/client","test:node":"node scripts/ensure-loop-built.mjs --strict && node scripts/test-suite.mjs","test:rust":"node scripts/run-rust-tests.mjs","build:loop":"tsc -p tsconfig.json --noEmitOnError","check:docs":"node scripts/check-docs-drift.mjs","check:size":"node scripts/check-file-size.mjs","pr:backlog":"node scripts/pr-backlog-report.mjs","gen:catalog":"node scripts/gen-catalog.mjs","postinstall":"node scripts/ensure-loop-built.mjs && node scripts/gui-runtime-preflight.mjs --warn-only && node scripts/postinstall-banner.mjs","test:client":"npm run test --workspace gui/client","format:check":"prettier --check .","pretest:node":"node scripts/ensure-native-abi.mjs","test:prepare":"node scripts/ensure-native-abi.mjs && npm run build:loop && npm run check:domains && npm run check:size && npm run check:boundaries && npm run check:inbox-audit","check:context":"node scripts/check-context.mjs","check:domains":"node scripts/check-domain-isolation.mjs","gui:preflight":"node scripts/gui-runtime-preflight.mjs","test:coverage":"npm run test:coverage:report && node scripts/check-coverage.mjs","test:mutation":"node scripts/run-mutation.mjs","test:node:list":"node scripts/test-suite.mjs --list","check:v1-linear":"node scripts/check-v1-linear-drift.mjs","check:boundaries":"node scripts/check-boundaries.mjs","eval:transcripts":"node evals/transcript-extraction/extraction-eval.mjs","test:pack-golden":"AIOS_PACK_GOLDEN_TESTS=1 node --test --test-concurrency=1 test/npm-pack-golden-path.test.mjs","check:inbox-audit":"node scripts/inbox-redaction-lint.mjs","test:install-smoke":"node scripts/test-suite.mjs --only=test/gui-runtime-production-install.test.mjs --live-install --concurrency=1","test:mutation:smoke":"node scripts/run-mutation.mjs --group=client-auth-permissions --mutate=gui/client/src/lib/token.ts","test:coverage:report":"npm run test:prepare && node scripts/run-coverage.mjs","check:codebase-health":"node scripts/check-codebase-health.mjs","test:mutation:nightly":"node scripts/run-mutation.mjs --nightly","test:gateway-contracts":"node --test test/contract-conformance.test.mjs test/gateway-contract.test.mjs","test:gateway-approval-contracts":"node --test test/gateway-contract.test.mjs test/gateway-approval-contract.test.mjs"},"_npmUser":{"name":"iamjohndass","email":"john@john-ellison.com"},"repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git"},"workspaces":["gui/server","gui/client","packages/foundation"],"_npmVersion":"10.9.4","description":"Agent-native operating system for an individual contributor: governed workspace scaffold, multi-agent harnesses with rubric-gated self-correction, AIOS Team Brain sync client, and a local GUI.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"@clack/prompts":"^1.7.0","better-sqlite3":"^13.0.1","@anthropic-ai/sdk":"^0.115.0","@aios-alpha/design":"^0.3.0","@aiosbrain/foundation":"^0.1.0","@anthropic-ai/claude-agent-sdk":"^0.3.220"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.4","devDependencies":{"c8":"^12.0.0","ajv":"^8.20.0","zod":"^4.4.3","eslint":"^9.39.5","globals":"^17.8.0","prettier":"^3.9.6","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^26.1.2","@tauri-apps/cli":"^2.11.4","@dotenvx/dotenvx":"^2.19.0","typescript-eslint":"^8.65.0","eslint-plugin-react":"^7.37.2","@stryker-mutator/core":"^9.6.1","@types/better-sqlite3":"^7.6.11","@agentclientprotocol/sdk":"^1.3.0","eslint-plugin-react-hooks":"^7.1.1","@stryker-mutator/vitest-runner":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/aios_0.9.1_1785571668883_0.29280529182267245","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@aiosbrain/aios","version":"0.10.0","license":"MIT","_id":"@aiosbrain/aios@0.10.0","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"homepage":"https://github.com/aiosbrain/aios-workspace#readme","bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"bin":{"aios":"scripts/aios.mjs"},"dist":{"shasum":"c2276142229e5a67ee7c8a7c5dcad7e4e96a3243","tarball":"https://registry.npmjs.org/@aiosbrain/aios/-/aios-0.10.0.tgz","fileCount":633,"integrity":"sha512-AoELpllXcq3bOTFmkn7xgbMuyGPHrK+Fe7rlcCCA4q3bRbICOgpplYqMMvr3N8KlUCKlojzN2NOurS9gn4c3og==","signatures":[{"sig":"MEYCIQCAagJQKQLCi9S9pBzIZ4aWFNbNmk/HQdOAbtbfOtknTQIhAJI6g7gE7GqhoDXBX09Xc2WR7ODfvBfW5SKeRNFZp0Oa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiosbrain%2faios@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4461347},"type":"module","engines":{"node":">=22 <23"},"gitHead":"5fded34256ad9e7eea4ad28ee50a8f24e1610dc8","scripts":{"gui":"node scripts/run-gui.mjs","aios":"dotenvx run -- node scripts/aios.mjs","help":"node scripts/npm-menu.mjs","lint":"eslint scripts validation gui/server gui/client/src src test packages","test":"npm run test:prepare && npm run test:node && npm run test:client && npm run test:rust","setup":"npm ci && npm run gui:build","format":"prettier --write .","app:dev":"npm run gui:preflight && npm run gui:build && dotenvx run -- tauri dev","test:ux":"node test/ux/run-ux.mjs","app:icon":"tauri icon","lint:fix":"eslint scripts validation gui/server gui/client/src src test packages --fix","app:build":"npm run gui:preflight && npm run gui:build && tauri build","gui:build":"npm run build --workspace gui/client","test:node":"node scripts/ensure-loop-built.mjs --strict && node scripts/test-suite.mjs","test:rust":"node scripts/run-rust-tests.mjs","build:loop":"tsc -p tsconfig.json --noEmitOnError","check:docs":"node scripts/check-docs-drift.mjs","check:size":"node scripts/check-file-size.mjs","pr:backlog":"node scripts/pr-backlog-report.mjs","gen:catalog":"node scripts/gen-catalog.mjs","postinstall":"node scripts/ensure-loop-built.mjs && node scripts/gui-runtime-preflight.mjs --warn-only && node scripts/postinstall-banner.mjs","test:client":"npm run test --workspace gui/client","format:check":"prettier --check .","pretest:node":"node scripts/ensure-native-abi.mjs","test:prepare":"node scripts/ensure-native-abi.mjs && npm run build:loop && npm run check:domains && npm run check:size && npm run check:boundaries && npm run check:devtools && npm run check:inbox-audit","check:context":"node scripts/check-context.mjs","check:domains":"node scripts/check-domain-isolation.mjs","gui:preflight":"node scripts/gui-runtime-preflight.mjs","test:coverage":"npm run test:coverage:report && node scripts/check-coverage.mjs","test:mutation":"node scripts/run-mutation.mjs","check:devtools":"node scripts/devtools-preflight.mjs","test:node:list":"node scripts/test-suite.mjs --list","check:v1-linear":"node scripts/check-v1-linear-drift.mjs","check:boundaries":"node scripts/check-boundaries.mjs","eval:transcripts":"node evals/transcript-extraction/extraction-eval.mjs","test:pack-golden":"AIOS_PACK_GOLDEN_TESTS=1 node --test --test-concurrency=1 test/npm-pack-golden-path.test.mjs","check:inbox-audit":"node scripts/inbox-redaction-lint.mjs","test:install-smoke":"node scripts/test-suite.mjs --only=test/gui-runtime-production-install.test.mjs --live-install --concurrency=1","test:mutation:smoke":"node scripts/run-mutation.mjs --group=client-auth-permissions --mutate=gui/client/src/lib/token.ts","test:coverage:report":"npm run test:prepare && node scripts/run-coverage.mjs","check:codebase-health":"node scripts/check-codebase-health.mjs","test:mutation:nightly":"node scripts/run-mutation.mjs --nightly","test:gateway-contracts":"node --test test/contract-conformance.test.mjs test/gateway-contract.test.mjs","test:gateway-approval-contracts":"node --test test/gateway-contract.test.mjs test/gateway-approval-contract.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:421a97ed-27a7-4737-b541-e7c3f37f2f9f"}},"repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git"},"workspaces":["gui/server","gui/client","packages/foundation"],"_npmVersion":"12.0.2","description":"Agent-native operating system for an individual contributor: governed workspace scaffold, multi-agent harnesses with rubric-gated self-correction, AIOS Team Brain sync client, and a local GUI.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@clack/prompts":"^1.7.0","better-sqlite3":"^13.0.1","@anthropic-ai/sdk":"^0.115.0","@aios-alpha/design":"^0.3.0","@aiosbrain/foundation":"^0.1.0","@aiosbrain/aios-devtools":"0.2.0","@anthropic-ai/claude-agent-sdk":"^0.3.220"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.4","devDependencies":{"c8":"^12.0.0","ajv":"^8.20.0","zod":"^4.4.3","eslint":"^9.39.5","globals":"^17.8.0","prettier":"^3.9.6","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^26.1.2","@tauri-apps/cli":"^2.11.4","@dotenvx/dotenvx":"^2.19.0","typescript-eslint":"^8.65.0","eslint-plugin-react":"^7.37.2","@stryker-mutator/core":"^9.6.1","@types/better-sqlite3":"^7.6.11","@agentclientprotocol/sdk":"^1.3.0","eslint-plugin-react-hooks":"^7.1.1","@stryker-mutator/vitest-runner":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/aios_0.10.0_1785753919427_0.6433699965924908","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@aiosbrain/aios","version":"0.11.0","license":"MIT","_id":"@aiosbrain/aios@0.11.0","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"homepage":"https://github.com/aiosbrain/aios-workspace#readme","bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"bin":{"aios":"scripts/aios.mjs","slack":"scripts/slack.mjs","linear":"scripts/linear.mjs"},"dist":{"shasum":"97232ef6bd6740474fcce54a39132a91b7c34037","tarball":"https://registry.npmjs.org/@aiosbrain/aios/-/aios-0.11.0.tgz","fileCount":657,"integrity":"sha512-VYax/O+8wPmMcUjX8gtGU6lFXJ6KAFXMG4pZPgZ7ZiFJgjg8Su8F6Xp1SqwRF0OFdNrVzIK4fbyNdQvpc+BOiw==","signatures":[{"sig":"MEQCIF/7JfzfTbW43Q4gqujXBk/sStB/0XhVqA9Yh0sSvYxnAiACuN653/LNqu1WNEO3AIhc7V82PJKrymyoL4jxL4QFHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiosbrain%2faios@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4747643},"type":"module","engines":{"node":">=22"},"gitHead":"701cdfa37f9c0a73543aea31a186d55bb467ffae","scripts":{"aios":"dotenvx run -- node scripts/aios.mjs","help":"node scripts/npm-menu.mjs","lint":"eslint scripts validation src test packages","test":"npm run test:prepare && npm run test:node","setup":"npm ci","format":"prettier --write .","lint:fix":"eslint scripts validation src test packages --fix","test:node":"node scripts/ensure-loop-built.mjs --strict && node scripts/test-suite.mjs","build:loop":"tsc -p tsconfig.json --noEmitOnError","check:docs":"node scripts/check-docs-drift.mjs","check:size":"node scripts/check-file-size.mjs","pr:backlog":"node scripts/pr-backlog-report.mjs","gen:catalog":"node scripts/gen-catalog.mjs","postinstall":"node scripts/ensure-loop-built.mjs && node scripts/postinstall-banner.mjs","format:check":"prettier --check .","pretest:node":"node scripts/ensure-native-abi.mjs","test:prepare":"node scripts/ensure-native-abi.mjs && npm run build:loop && npm run check:domains && npm run check:size && npm run check:boundaries && npm run check:devtools && npm run check:inbox-audit","check:context":"node scripts/check-context.mjs","check:domains":"node scripts/check-domain-isolation.mjs","test:coverage":"npm run test:coverage:report && node scripts/check-coverage.mjs","test:mutation":"node scripts/run-mutation.mjs","check:devtools":"node scripts/devtools-preflight.mjs","test:node:list":"node scripts/test-suite.mjs --list","check:v1-linear":"node scripts/check-v1-linear-drift.mjs","check:boundaries":"node scripts/check-boundaries.mjs","eval:transcripts":"node evals/transcript-extraction/extraction-eval.mjs","test:pack-golden":"AIOS_PACK_GOLDEN_TESTS=1 node --test --test-concurrency=1 test/npm-pack-golden-path.test.mjs","check:inbox-audit":"node scripts/inbox-redaction-lint.mjs","test:coverage:report":"npm run test:prepare && node scripts/run-coverage.mjs","check:codebase-health":"node scripts/check-codebase-health.mjs","test:mutation:nightly":"node scripts/run-mutation.mjs --nightly","test:gateway-contracts":"node --test test/contract-conformance.test.mjs test/gateway-contract.test.mjs","check:review-evidence-parity":"node scripts/check-review-evidence-parity.mjs","integration:contracts:validate":"node scripts/integration-contracts.mjs","test:gateway-approval-contracts":"node --test test/gateway-contract.test.mjs test/gateway-approval-contract.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:421a97ed-27a7-4737-b541-e7c3f37f2f9f"}},"repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git"},"workspaces":["packages/foundation"],"_npmVersion":"12.0.2","description":"Agent-native operating system for an individual contributor: governed workspace scaffold, multi-agent harnesses with rubric-gated self-correction, AIOS Team Brain sync client, and a local GUI.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ajv":"^8.20.0","@clack/prompts":"^1.7.0","better-sqlite3":"^13.0.1","@anthropic-ai/sdk":"^0.115.0","@aios-alpha/design":"^0.3.0","@aiosbrain/foundation":"^0.1.0","@aiosbrain/aios-devtools":"0.2.1","@anthropic-ai/claude-agent-sdk":"^0.3.220"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.4","devDependencies":{"c8":"^12.0.0","zod":"^4.4.3","eslint":"^9.39.5","globals":"^17.8.0","prettier":"^3.9.6","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^26.1.2","@dotenvx/dotenvx":"^2.19.1","typescript-eslint":"^8.65.0","@stryker-mutator/core":"^9.6.1","@types/better-sqlite3":"^7.6.11","@agentclientprotocol/sdk":"^1.3.0","@stryker-mutator/vitest-runner":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/aios_0.11.0_1786961239824_0.7036164088246959","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@aiosbrain/aios","version":"0.11.1","license":"MIT","_id":"@aiosbrain/aios@0.11.1","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"homepage":"https://github.com/aiosbrain/aios-workspace#readme","bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"bin":{"aios":"scripts/aios.mjs","slack":"scripts/slack.mjs","linear":"scripts/linear.mjs"},"dist":{"shasum":"c052ac5cb17ae4a22717dd2fb2c8bbb1ed3a5416","tarball":"https://registry.npmjs.org/@aiosbrain/aios/-/aios-0.11.1.tgz","fileCount":658,"integrity":"sha512-6yBQHeZLKe9UgZUkBqF44zEBmBGgmlX5WBrG52dzPbDW3/fWS6byDLYXK+y+gq3WePOuJk7j/LsLRfOyaPbSKA==","signatures":[{"sig":"MEUCIQDJtRuLvZBtyRQa2g0ut9vcKpT4lLpH4DXiaoVs1gCOOQIgCJTy6olIZcT/k5lK8i6dlCnD9fG4uCnswA4MsRVef1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiosbrain%2faios@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4769732},"type":"module","engines":{"node":">=22"},"gitHead":"e9acbde6ec63a4213fcfde9f0a502a92c5f663bf","scripts":{"aios":"dotenvx run -- node scripts/aios.mjs","help":"node scripts/npm-menu.mjs","lint":"eslint scripts validation src test packages","test":"npm run test:prepare && npm run test:node","setup":"npm ci","format":"prettier --write .","lint:fix":"eslint scripts validation src test packages --fix","test:node":"node scripts/ensure-loop-built.mjs --strict && node scripts/test-suite.mjs","build:loop":"tsc -p tsconfig.json --noEmitOnError","check:docs":"node scripts/check-docs-drift.mjs","check:size":"node scripts/check-file-size.mjs","pr:backlog":"node scripts/pr-backlog-report.mjs","gen:catalog":"node scripts/gen-catalog.mjs","postinstall":"node scripts/ensure-loop-built.mjs && node scripts/postinstall-banner.mjs","format:check":"prettier --check .","pretest:node":"node scripts/ensure-native-abi.mjs","test:prepare":"node scripts/ensure-native-abi.mjs && npm run build:loop && npm run check:domains && npm run check:size && npm run check:boundaries && npm run check:devtools && npm run check:inbox-audit","check:context":"node scripts/check-context.mjs","check:domains":"node scripts/check-domain-isolation.mjs","test:coverage":"npm run test:coverage:report && node scripts/check-coverage.mjs","test:mutation":"node scripts/run-mutation.mjs","check:devtools":"node scripts/devtools-preflight.mjs","test:node:list":"node scripts/test-suite.mjs --list","check:v1-linear":"node scripts/check-v1-linear-drift.mjs","check:boundaries":"node scripts/check-boundaries.mjs","eval:transcripts":"node evals/transcript-extraction/extraction-eval.mjs","test:pack-golden":"AIOS_PACK_GOLDEN_TESTS=1 node --test --test-concurrency=1 test/npm-pack-golden-path.test.mjs","check:inbox-audit":"node scripts/inbox-redaction-lint.mjs","test:coverage:report":"npm run test:prepare && node scripts/run-coverage.mjs","check:codebase-health":"node scripts/check-codebase-health.mjs","test:mutation:nightly":"node scripts/run-mutation.mjs --nightly","test:gateway-contracts":"node --test test/contract-conformance.test.mjs test/gateway-contract.test.mjs","check:review-evidence-parity":"node scripts/check-review-evidence-parity.mjs","integration:contracts:validate":"node scripts/integration-contracts.mjs","test:gateway-approval-contracts":"node --test test/gateway-contract.test.mjs test/gateway-approval-contract.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:421a97ed-27a7-4737-b541-e7c3f37f2f9f"}},"repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git"},"workspaces":["packages/foundation"],"_npmVersion":"12.0.2","description":"Agent-native operating system for an individual contributor: governed workspace scaffold, multi-agent harnesses with rubric-gated self-correction, AIOS Team Brain sync client, and a local GUI.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ajv":"^8.20.0","@clack/prompts":"^1.7.0","better-sqlite3":"^13.0.1","@anthropic-ai/sdk":"^0.115.0","@aios-alpha/design":"^0.3.0","@aiosbrain/foundation":"^0.1.0","@aiosbrain/aios-devtools":"0.2.1","@anthropic-ai/claude-agent-sdk":"^0.3.220"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.4","devDependencies":{"c8":"^12.0.0","zod":"^4.4.3","eslint":"^9.39.5","globals":"^17.8.0","prettier":"^3.9.6","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^26.1.2","@dotenvx/dotenvx":"^2.19.1","typescript-eslint":"^8.65.0","@stryker-mutator/core":"^9.6.1","@types/better-sqlite3":"^7.6.11","@agentclientprotocol/sdk":"^1.3.0","@stryker-mutator/vitest-runner":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/aios_0.11.1_1786977662849_0.7813230737601244","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@aiosbrain/aios","version":"0.12.0","license":"AGPL-3.0-only","_id":"@aiosbrain/aios@0.12.0","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"homepage":"https://github.com/aiosbrain/aios-workspace#readme","bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"bin":{"aios":"scripts/aios.mjs","slack":"scripts/slack.mjs","linear":"scripts/linear.mjs"},"dist":{"shasum":"4eb864a32820b6f64b36134d8cd84f2b3622517d","tarball":"https://registry.npmjs.org/@aiosbrain/aios/-/aios-0.12.0.tgz","fileCount":673,"integrity":"sha512-IEvwbrWcDxKs9KN5KLzMJ3+sclqOYeXrFXbwvChmruk1FJfYyhLI7ddh0fnV4hIzfhwcqNYjidvm0LPiJk8w0A==","signatures":[{"sig":"MEUCIH8F5NVLtGO0mEJzODcQDqJUOKZcid5taWJcDpN7Ynl2AiEAh1pyulAltKcArHszrp7BoM5krAk68Hl+xJgWN1H7RpE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiosbrain%2faios@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4997176},"type":"module","engines":{"node":">=22"},"gitHead":"f3019738273af0d662f2342bd16c07252893a836","scripts":{"aios":"dotenvx run -- node scripts/aios.mjs","help":"node scripts/npm-menu.mjs","lint":"eslint scripts validation src test packages","test":"npm run test:prepare && npm run test:node","setup":"npm ci","format":"prettier --write .","lint:fix":"eslint scripts validation src test packages --fix","test:node":"node scripts/ensure-loop-built.mjs --strict && node scripts/test-suite.mjs","build:loop":"tsc -p tsconfig.json --noEmitOnError","check:docs":"node scripts/check-docs-drift.mjs","check:size":"node scripts/check-file-size.mjs","pr:backlog":"node scripts/pr-backlog-report.mjs","gen:catalog":"node scripts/gen-catalog.mjs","postinstall":"node scripts/ensure-loop-built.mjs && node scripts/postinstall-banner.mjs","format:check":"prettier --check .","pretest:node":"node scripts/ensure-native-abi.mjs","test:prepare":"node scripts/ensure-native-abi.mjs && npm run build:loop && npm run check:domains && npm run check:size && npm run check:boundaries && npm run check:devtools && npm run check:inbox-audit && npm run check:linear-skill-parity","check:context":"node scripts/check-context.mjs","check:domains":"node scripts/check-domain-isolation.mjs","test:coverage":"npm run test:coverage:report && node scripts/check-coverage.mjs","test:mutation":"node scripts/run-mutation.mjs","check:devtools":"node scripts/devtools-preflight.mjs","guard:selftest":"node scripts/guard-selftest.mjs","test:node:list":"node scripts/test-suite.mjs --list","check:v1-linear":"node scripts/check-v1-linear-drift.mjs","check:boundaries":"node scripts/check-boundaries.mjs","eval:transcripts":"node evals/transcript-extraction/extraction-eval.mjs","test:pack-golden":"AIOS_PACK_GOLDEN_TESTS=1 node --test --test-concurrency=1 test/npm-pack-golden-path.test.mjs","check:inbox-audit":"node scripts/inbox-redaction-lint.mjs","test:coverage:report":"npm run test:prepare && node scripts/run-coverage.mjs","check:codebase-health":"node scripts/check-codebase-health.mjs","test:mutation:nightly":"node scripts/run-mutation.mjs --nightly","test:gateway-contracts":"node --test test/contract-conformance.test.mjs test/gateway-contract.test.mjs","check:linear-skill-parity":"node scripts/check-linear-skill-parity.mjs","check:review-evidence-parity":"node scripts/check-review-evidence-parity.mjs","integration:contracts:validate":"node scripts/integration-contracts.mjs","test:gateway-approval-contracts":"node --test test/gateway-contract.test.mjs test/gateway-approval-contract.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:421a97ed-27a7-4737-b541-e7c3f37f2f9f"}},"repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git"},"workspaces":["packages/foundation"],"_npmVersion":"12.0.2","description":"Agent-native operating system for an individual contributor: governed workspace scaffold, multi-agent harnesses with rubric-gated self-correction, AIOS Team Brain sync client, and a local GUI.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ajv":"^8.20.0","@clack/prompts":"^1.7.0","better-sqlite3":"^13.0.1","@dotenvx/dotenvx":"^2.19.1","@anthropic-ai/sdk":"^0.117.1","@aios-alpha/design":"^0.3.0","@aiosbrain/foundation":"^0.1.2","@aiosbrain/aios-devtools":"0.3.0","@anthropic-ai/claude-agent-sdk":"^0.3.220"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.4","devDependencies":{"c8":"^12.0.0","zod":"^4.4.3","eslint":"^9.39.5","globals":"^17.8.0","prettier":"^3.9.6","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^26.1.2","typescript-eslint":"^8.65.0","@stryker-mutator/core":"^10.0.0","@types/better-sqlite3":"^9.6.0","@agentclientprotocol/sdk":"^1.3.0","@stryker-mutator/vitest-runner":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aios_0.12.0_1787315097477_0.6458357544677564","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"_id":"@aiosbrain/aios@2.0.0","bin":{"aios":"scripts/aios.mjs","slack":"scripts/slack.mjs","linear":"scripts/linear.mjs"},"bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"dist":{"shasum":"244e104a6218b7ef228e36e8e4234217e7aa5f01","tarball":"https://registry.npmjs.org/@aiosbrain/aios/-/aios-2.0.0.tgz","fileCount":750,"integrity":"sha512-4Mvx8EpgZVXij7uo2EioRLi4du6ITsbM+o5AyQQLsUMdbxSNFeNd7WeME3H0KXCpW1OflUvlMZZhXQJgfPTBnQ==","signatures":[{"sig":"MEYCIQCijbPwjF0RRYPJq9nhDbuhYq/V1G89JBWGkiJL4eNAgQIhAK84y13XhhS9omry4bPUQ/stiLbx03TeeCBUSOLVauN9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGMwJ6SpjF2zBXcNJSpQLSIgE7B/+090Gt6i4xSXVxzaAiEAsbva1Sb7o8JURmH0FQ5PmySAYwXWYLsvNH3Rau9onXY="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aiosbrain%2faios@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5383555},"name":"@aiosbrain/aios","type":"module","_from":"file:/home/runner/work/aios-workspace/aios-workspace/.release-artifacts/package-candidate/aiosbrain-aios-2.0.0.tgz","engines":{"node":"22.x || 24.x || 26.x"},"license":"AGPL-3.0-only","scripts":{"aios":"dotenvx run -- node scripts/aios.mjs","help":"node scripts/npm-menu.mjs","lint":"eslint scripts validation src test packages","test":"npm run test:prepare && npm run test:node","setup":"npm ci","format":"prettier --write .","prepack":"node scripts/write-build-provenance.mjs","lint:fix":"eslint scripts validation src test packages --fix","test:node":"node scripts/ensure-loop-built.mjs --strict && node scripts/test-suite.mjs","build:loop":"tsc -p tsconfig.json --noEmitOnError","check:docs":"node scripts/check-docs-drift.mjs","check:size":"node scripts/check-file-size.mjs","pr:backlog":"node scripts/pr-backlog-report.mjs","gen:catalog":"node scripts/gen-catalog.mjs","postinstall":"node scripts/ensure-loop-built.mjs && node scripts/postinstall-banner.mjs","format:check":"prettier --check .","pretest:node":"node scripts/ensure-native-abi.mjs","test:prepare":"node scripts/ensure-native-abi.mjs && npm run build:loop && npm run check:domains && npm run check:size && npm run check:boundaries && npm run check:devtools && npm run check:inbox-audit && npm run check:linear-skill-parity && npm run check:retired-routes","check:context":"node scripts/check-context.mjs","check:domains":"node scripts/check-domain-isolation.mjs","test:coverage":"npm run test:coverage:report && node scripts/check-coverage.mjs","test:mutation":"node scripts/run-mutation.mjs","check:devtools":"node scripts/devtools-preflight.mjs","guard:selftest":"node scripts/guard-selftest.mjs","test:node:list":"node scripts/test-suite.mjs --list","check:v1-linear":"node scripts/check-v1-linear-drift.mjs","check:boundaries":"node scripts/check-boundaries.mjs","eval:transcripts":"node evals/transcript-extraction/extraction-eval.mjs","test:pack-golden":"AIOS_PACK_GOLDEN_TESTS=1 node --test --test-concurrency=1 test/npm-pack-golden-path.test.mjs","check:inbox-audit":"node scripts/inbox-redaction-lint.mjs","check:retired-routes":"node scripts/check-retired-routes.mjs","test:coverage:report":"npm run test:prepare && node scripts/run-coverage.mjs","check:codebase-health":"node scripts/check-codebase-health.mjs","check:workflow-policy":"node scripts/check-workflow-policy.mjs","test:mutation:nightly":"node scripts/run-mutation.mjs --nightly","test:gateway-contracts":"node --test test/contract-conformance.test.mjs test/gateway-contract.test.mjs","test:package-acceptance":"node test/package-acceptance/run-cell.mjs --pack","check:linear-skill-parity":"node scripts/check-linear-skill-parity.mjs","check:review-evidence-parity":"node scripts/check-review-evidence-parity.mjs","integration:contracts:validate":"node scripts/integration-contracts.mjs","test:gateway-approval-contracts":"node --test test/gateway-contract.test.mjs test/gateway-approval-contract.test.mjs"},"version":"2.0.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:421a97ed-27a7-4737-b541-e7c3f37f2f9f"}},"homepage":"https://github.com/aiosbrain/aios-workspace#readme","_resolved":"/home/runner/work/aios-workspace/aios-workspace/.release-artifacts/package-candidate/aiosbrain-aios-2.0.0.tgz","_integrity":"sha512-4Mvx8EpgZVXij7uo2EioRLi4du6ITsbM+o5AyQQLsUMdbxSNFeNd7WeME3H0KXCpW1OflUvlMZZhXQJgfPTBnQ==","repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git"},"workspaces":["packages/foundation"],"_npmVersion":"12.0.2","description":"Agent-native operating system for an individual contributor: governed workspace scaffold, multi-agent harnesses with rubric-gated self-correction, AIOS Team Brain sync client, and a local GUI.","directories":{},"maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"_nodeVersion":"22.23.2","dependencies":{"ajv":"^8.20.0","@clack/prompts":"^1.7.0","better-sqlite3":"^13.0.1","@dotenvx/dotenvx":"^2.19.1","@anthropic-ai/sdk":"^0.117.1","@aios-alpha/design":"^0.3.0","@aiosbrain/foundation":"^0.1.2","@aiosbrain/aios-devtools":"0.3.1","@anthropic-ai/claude-agent-sdk":"^0.3.220"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@10.9.4","devDependencies":{"c8":"^12.0.0","zod":"^4.4.3","eslint":"^9.39.5","globals":"^17.8.0","prettier":"^3.9.6","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^26.1.2","typescript-eslint":"^8.65.0","@stryker-mutator/core":"^10.0.0","@types/better-sqlite3":"^9.6.0","@agentclientprotocol/sdk":"^1.3.0","@stryker-mutator/vitest-runner":"^10.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aios_2.0.0_1789643707075_0.41138432904188904"}}},"time":{"created":"2026-08-01T08:07:48.714Z","modified":"2026-09-17T11:15:07.659Z","0.9.1":"2026-08-01T08:07:49.073Z","0.10.0":"2026-08-03T10:45:19.627Z","0.11.0":"2026-08-17T10:07:20.017Z","0.11.1":"2026-08-17T14:41:03.018Z","0.12.0":"2026-08-21T12:24:57.726Z","2.0.0":"2026-09-17T11:15:07.208Z"},"bugs":{"url":"https://github.com/aiosbrain/aios-workspace/issues"},"license":"AGPL-3.0-only","homepage":"https://github.com/aiosbrain/aios-workspace#readme","repository":{"url":"git+https://github.com/aiosbrain/aios-workspace.git","type":"git"},"description":"Agent-native operating system for an individual contributor: governed workspace scaffold, multi-agent harnesses with rubric-gated self-correction, AIOS Team Brain sync client, and a local GUI.","maintainers":[{"name":"cn_fuser","email":"chetan.nandakumar@gmail.com"},{"name":"iamjohndass","email":"john@john-ellison.com"}],"readme":"# AIOS Workspace\n\nAn open, agent-native operating system for **an individual contributor** — the\nworkspace you work in day to day and from which you push selected output to a\nshared [AIOS Team Brain](docs/brain-api.md).\n\nAIOS Workspace gives you **a clean folder structure**, a set of **governance\nconventions**, **validators** that keep the repo honest, a growing library of\n**dynamic multi-agent workflow harnesses** that do real operational work —\nauditing a decision log, catching scope creep, turning meeting transcripts into\ndecisions, synthesizing the week — with **adversarial verification and\nrubric-gated self-correction** so their output is trustworthy, and a **sync\nclient + local GUI** for deciding what leaves your machine and pushing it to the\nbrain.\n\nAIOS is organized across **three repositories**, with distinct responsibilities:\n\n- **This repo — the individual workspace.** One per person. You work here; you\n  choose what to share. Nothing leaves until you `aios push` it.\n- **The [standalone GUI](https://github.com/aiosbrain/aios-workspace-gui).**\n  The local web GUI and desktop shell. It lives there, not here (AIO-612).\n- **The [Team Brain](docs/brain-api.md).** The *one* shared service that receives\n  everyone's pushes and answers questions across the team. It is the only \"team\"\n  layer.\n\nIt is designed to be **cloned per person and shaped to your context**, asked once\nat onboarding:\n\n> **Are you a consultant working in a team for a client**, or **an employee\n> working inside a company?**\n\nYour answer selects the spine that scaffolds — the same skeleton with a context\nskin (client/engagement framing, or internal role/OKR framing).\n\n```\naios-workspace/\n├── scaffold/        the workspace template (structure + rules + skills)\n│   └── .claude/\n│       ├── rules/    decision-log · frontmatter · publishing · hours · interlinking\n│       ├── skills/   dynamic-workflow harnesses (decision-audit, scope-creep,\n│       │             transcript-decisions, weekly-synthesis, aios-sync)\n│       ├── rubrics/  checkable criteria for rubric-gated self-correction\n│       └── memory/   instincts + incidents (cross-session learning)\n├── validation/      OGR01–OGR15 validators (workspace hygiene · scaffold + runtime\n│                    contracts · advisory scorecards); validate-all.sh runs them all\n├── hooks/           Claude Code guards (secrets · access · frontmatter · sync nudge)\n│                    shipped into every scaffolded workspace + registered in\n│                    .claude/settings.json, so the PreToolUse guard fires there too\n├── scripts/         scaffold-project.sh · aios.mjs (Team Brain sync CLI) · leak-gate.sh\n├── packages/        @aiosbrain/foundation (npm workspace) — the shared hub modules,\n│                    published to npm; scripts/ paths re-export it as thin shims\n├── examples/        a fully synthetic sample to demo + test the harnesses\n└── docs/            architecture · feature-set · workflows · brain-api (sync contract)\n```\n\n## Install the current stable workspace\n\nFor onboarding, clone the immutable public release rather than the moving `main`\nbranch. Resolve the newest tag instead of typing a version, so this never points\nat a superseded release:\n\n```bash\nREPO=https://github.com/aiosbrain/aios-workspace.git\nLATEST=$(git ls-remote --tags --refs --sort=-v:refname \"$REPO\" 'v*' \\\n  | head -1 | sed 's#.*refs/tags/##')\n\ngit clone --branch \"$LATEST\" --depth 1 \"$REPO\" aios-toolkit\ncd aios-toolkit\n```\n\nThen use `scripts/scaffold-project.sh` as shown below. A plain `git clone` checks\nout `main`; that is the development surface for contributors and can contain\nmerged work that has not passed release promotion yet.\n\nThe CLI is also distributed on npm under the stable `latest` dist-tag:\n\n```bash\nnpm install -g @aiosbrain/aios@latest\naios --help\n```\n\nThe npm package carries the sync client, workspace scaffold\n(`scripts/scaffold-project.sh`), the OGR validators (`validation/`), the\ngovernance hooks, and the pinned contracts (`docs/brain-api.md`,\n`docs/ENGINEERING-CONSTITUTION.md`). For the current onboarding flow, keep the\ntagged toolkit checkout as the source used to scaffold and update workspaces;\nthe global package is a convenient CLI distribution, not a replacement for\nthat checkout. The unscoped `aios` package on npm is unrelated.\n\nRelease-tag checkouts do not follow `main`. When a later release is published,\nfetch and check out that exact tag, then apply it deliberately from your\nworkspace with `aios update --from /path/to/aios-toolkit --no-pull`. Release\nnotes will name the tag and any migration steps.\n\n## Quickstart\n\n> **Want to actually drive this?** [`docs/GUIDE.md`](docs/GUIDE.md) — *The AIOS operating manual* —\n> is the one task-oriented walkthrough of the whole surface, organized around your day: the daily\n> brief, the asks queue + attention mode, the weekly loop, syncing to the brain, measuring yourself\n> (AM), gating specs, and the agent pipeline. Start there.\n>\n> **New user?** [`docs/GETTING-STARTED.md`](docs/GETTING-STARTED.md) is the\n> step-by-step stable-release path to your first `aios push` live on the Team Brain.\n\nScaffold your workspace — pick the context that matches how you work:\n\n```bash\n# Consultant working in a team for a client:\nscripts/scaffold-project.sh --context consultant \\\n  --slug acme-workspace --stakeholder \"Acme Corp\" \\\n  --owner alex --team \"alex,sam,jordan\" \\\n  --org your-github-org \\\n  --output ~/Projects/acme-workspace\n\n# Employee working inside a company:\nscripts/scaffold-project.sh --context employee \\\n  --slug alex-workspace --stakeholder \"Acme Inc\" \\\n  --owner alex --team \"alex,sam,jordan\" \\\n  --org your-github-org \\\n  --output ~/Projects/alex-workspace\n```\n\n(Legacy flags still work: `--profile engagement` maps to `--context consultant`,\nand `--lead`/`--captain`/`--client`/`--members` are accepted as aliases.)\n\nValidate any workspace — from anywhere, including from inside the workspace itself:\n\n```bash\naios validate                                  # the workspace you are standing in\naios validate ~/Projects/acme-workspace        # or name one\naios validate --critical                       # OGR03 secrets scan only\n```\n\n`aios validate` resolves the validators inside whichever toolkit is installed, so a\nglobal npm install does not need\n`$(npm root --global)/@aiosbrain/aios/validation/validate-all.sh` — a path that differs\nper Node install manager (nvm, fnm, Homebrew, Windows). The\nunderlying script is still directly runnable **from a toolkit checkout**, pointed at a\nworkspace — a scaffolded workspace has no `validation/validate-all.sh` of its own:\n\n```bash\nvalidation/validate-all.sh ~/Projects/acme-workspace   # run from the toolkit checkout\n```\n\nRun a harness (via Claude Code's Workflow tool) against the included sample:\n\n```\nWorkflow({\n  scriptPath: \"scaffold/.claude/skills/decision-audit/decision-audit.workflow.js\",\n  args: { repoPath: \"examples/sample-engagement\", runDate: \"2026-06-05\" }\n})\n```\n\nPrefer to just see results? [`examples/sample-output/`](examples/sample-output/) has\nreal harness output on the synthetic sample — a decision-log audit (9 verified\nfindings, false positives filtered out), a scope-creep register, and decisions\nextracted from meeting transcripts.\n\nConnect to a Team Brain (optional — everything works offline without one):\n\n```bash\ncp .env.example .env          # add your AIOS_API_KEY\ngit config aios.member alex   # your identity\naios status                   # what would sync, what's blocked, why\naios push                     # push team- and outward-tier content\naios query \"what's blocking sprint 2?\"\n```\n\nChat with your repo in a browser instead of the terminal — the **local cockpit**:\n\n```bash\ngit clone https://github.com/aiosbrain/aios-workspace-gui.git\ncd aios-workspace-gui && npm install && npm run build:client\nnode gui/server/index.mjs --repo ~/Projects/acme-workspace --toolkit-dir /path/to/aios-workspace\n```\n\n> **Repo topology note:** the GUI and desktop shell live in\n> [`aiosbrain/aios-workspace-gui`](https://github.com/aiosbrain/aios-workspace-gui)\n> (history filtered from this repo). `gui/` and `src-tauri/` were **deleted from this\n> repo in AIO-612** — that repo is the only copy. The GUI locates a toolkit checkout via\n> [`docs/gui-toolkit-contract.md`](docs/gui-toolkit-contract.md): `--toolkit-dir`\n> flag → `AIOS_TOOLKIT_DIR` env → an actionable error. The pre-split relative fallback\n> (`gui/server/../../`) still exists in the GUI repo's resolver but can no longer reach a\n> toolkit — nothing sits above it any more — so one of the two must be set.\n> It builds against the published\n> [`@aiosbrain/foundation`](https://www.npmjs.com/package/@aiosbrain/foundation)\n> package plus the `aios` CLI — never toolkit internals.\n\nThe cockpit is more than a chat box:\n\n- **Model picker** — switch between **Sonnet 4.6** (the fast, cheap default) and\n  **Opus 4.8** live, mid-session, with no reconnect.\n- **Chats** — a resumable chat-history sidebar; each conversation is saved and\n  reopened where you left off (`+ New chat` to start fresh).\n- **Context (est.) meter** — an approximate read of how much of the model's\n  window the last turn used, so you can see when a chat is getting heavy.\n- **Markdown rendering** — assistant replies render as GitHub-flavored markdown\n  (tables, lists, code).\n- **Settings → Personality** — pick the agent's voice (AIOS · Analyst · Coach ·\n  Operator); it's a style layer over the system prompt and never overrides your\n  rules, `CLAUDE.md`, or skills.\n- **Skills** — install official, Apache-2.0 Anthropic skills (vendored and\n  hash-locked) into `.claude/skills/` with one click; document skills (Word,\n  Excel, PowerPoint, PDF) are surfaced as pointers to **Enable in Claude**.\n\nFirst-run onboarding can **draft your profile from a link** — paste a company or\nprofile URL and the agent reads it with Firecrawl, then drafts your\n`.claude/CLAUDE.md` for you to confirm (connect Firecrawl in Integrations first).\n\nNot sure what else is available? `npm run help` lists every script grouped by\ncategory (Core / Dev / Build / Internal), instead of the undifferentiated dump a\nbare `npm run` prints.\n\n## The numbered spine\n\nEvery workspace uses the same six-folder pipeline, raw → refined. The `0-context`\nand `4-shared` folders take a context skin; the rest are identical either way:\n\n| # | Folder | Holds | Audience |\n|---|--------|-------|----------|\n| 0 | context | consultant: charter, scope baseline + ledger · employee: role, OKRs | team |\n| 1 | inbox | raw inputs (transcripts, notes, from-brain) | private |\n| 2 | work | your deliverables and working docs | team |\n| 3 | log | decision log, tasks, hours | private |\n| 4 | shared | outward-facing — client (consultant) or company (employee) | external |\n| 5 | personal | your private workspace | private |\n\n## Access tiers\n\nYou choose what leaves your machine. Content is tagged with a **friendly** tier\nlabel that maps to the engine's **canonical** tier:\n\n| Friendly (consultant) | Friendly (employee) | Canonical | Syncs? |\n|---|---|---|---|\n| `private` | `private` | `admin` | never |\n| `team` | `team` | `team` | yes — to the team brain |\n| `client` | `company` | `external` | yes — outward-facing |\n\n**Default-deny:** untagged content and anything `private`/`admin` never syncs.\nPromotion is always a deliberate `aios push`.\n\n## The daily driver — loop, asks, mode, specs\n\nBeyond scaffolding and sync, the workspace runs an **operator loop** and a **human-operating layer**\nyou drive from the CLI — all offline, all local-only until you push:\n\n- **Daily brief** — `aios loop daily`: what changed, what's blocked, what you owe today, with your\n  own escalation queue on top.\n- **Asks queue** — `aios asks list/add/resolve/drain`: a non-blocking escalation inbox that session\n  hooks fill for you (idle → blocker, an assistant question → decision, a completion → fyi).\n- **Attention mode** — `aios mode deep-work | orchestration`: one command to silence or restore the\n  local end-of-turn ping (touches only `preferredNotifChannel`; mobile push untouched).\n- **Steering decisions** — `aios decisions list/outcome/export`: a local, admin-tier corpus of the\n  `AskUserQuestion` / plan-approval moments (this is *not* the Team Brain decision log — see the\n  guide's disambiguation box).\n- **Weekly loop** — `aios loop collect → weekly → verify → writeback`: a verified, approval-gated\n  closeout that proves every shareable claim before it can sync.\n- **Measure yourself** — `aios analyze` (agentic maturity (AM) + attention + spend),\n  `aios time` (agent-runtime time tracking).\n- **Spec gate** — `aios spec eval | fix`: grade a spec against the pick-up-able-issue bar before a\n  builder touches it.\n- **Agent pipeline** — `aios relay | build | ship`: an Opus builder reviewed by an independent\n  model, gated at plan + merge. See [`docs/agent-build.md`](docs/agent-build.md).\n- **Repo hardening** — `aios assess-codebase`, `aios rails missing/suggest/apply`: score any repo's\n  agent-readiness and stand up a safe permission allowlist.\n\nEvery one of these is walked through, with real output and diagrams, in\n[`docs/GUIDE.md`](docs/GUIDE.md).\n\n## Skills & integrations\n\nEvery workspace ships a generated **skills catalog** (`.claude/skills/INDEX.md`) and an\n**integrations catalog** (`.claude/INTEGRATIONS.md`, from `.claude/integrations.json`) —\nso you can see what the workspace can do and connect to (Slack, Jira, Notion, Linear,\nGitHub, Gmail, Granola, Confluence, Mattermost, Toggl). To wire an integration, copy its\nserver from `scaffold/.mcp.example.json` into `scaffold/.mcp.json`, set the env vars, and run\n`npm run gen:catalog`. Setup notes: [`docs/integrations.md`](docs/integrations.md).\n\nSkills are shareable: `aios push skill <name>` publishes to the brain; `aios pull skill\n<name>` + `aios install-skill <name>` adopt one (install is always explicit — pulled\nskills never auto-activate).\n\n## Terminology\n\nThe toolkit started life in consulting; both vocabularies are accepted everywhere\n(validators, hooks, harnesses) and existing clones never need to rename:\n\n| Concept | Current | Legacy alias |\n|---|---|---|\n| Onboarding selector | `--context consultant\\|employee` | `--profile project\\|engagement` |\n| Spine 0 | `0-context/` | `00-project/` · `00-engagement/` |\n| Spine 4 | `4-shared/` | `04-shared/` · `04-client-surface/` |\n| Root config | `workspace.yaml` | `project.yaml` · `engagement.yaml` |\n| Owner | `--owner` | `--lead` · `--captain` |\n| Counterparty | `--stakeholder` | `--client` |\n| Outward tier | `client`/`company` (→`external`) | — |\n\nSee [`docs/GUIDE.md`](docs/GUIDE.md) for the task-oriented operating manual (the\nwhole CLI, organized around your day),\n[`docs/architecture.md`](docs/architecture.md) for the hub-and-spoke model and\naccess tiers, [`docs/feature-set.md`](docs/feature-set.md) for the full feature set,\n[`docs/workflows.md`](docs/workflows.md) for the harness design study that shaped\nthe skills, [`docs/byoa.md`](docs/byoa.md) for **Bring Your Own Agent** (choose\nyour runtime — Claude Code, Hermes, OpenClaw, Codex…), and\n[`docs/brain-api.md`](docs/brain-api.md) for the Team Brain sync contract.\n\n## Status\n\nEarly and open. The clean core (structure, rules, validators, guard, harnesses),\nthe rubric-gated self-correction layer, the Team Brain sync client, and the local\nGUI are here; more harnesses and integration adapters are on the\n[roadmap](../../issues). Contributions welcome — see\n[`CONTRIBUTING.md`](CONTRIBUTING.md).\n\n## License\n\n**AGPL-3.0-only** — see [`LICENSE`](LICENSE) and [`LICENSING.md`](LICENSING.md).\n\nRunning a workspace is unrestricted; the AGPL places no obligation on internal use. Two directories are **Apache-2.0** deliberately: `packages/integration-sdk/` (the\nintegration contracts) and `.harness/` (which `aios repo-bootstrap` stamps into *your*\nrepository) — so writing an integration, or bootstrapping your own repo, never licenses\nyour code. Prior releases remain MIT, preserved in\n[`LICENSE-MIT`](LICENSE-MIT). If your organization's policy bans AGPL, there is a\n[free commercial license](COMMERCIAL-LICENSE.md) for internal use — email cn@fluora.ai.\n","readmeFilename":"README.md"}