aios-core 4.2.14 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/.aios-core/cli/commands/validate/index.js +1 -1
  2. package/.aios-core/core/code-intel/helpers/creation-helper.js +183 -0
  3. package/.aios-core/core/code-intel/helpers/devops-helper.js +166 -0
  4. package/.aios-core/core/code-intel/helpers/planning-helper.js +248 -0
  5. package/.aios-core/core/code-intel/helpers/qa-helper.js +187 -0
  6. package/.aios-core/core/code-intel/helpers/story-helper.js +146 -0
  7. package/.aios-core/core/config/schemas/framework-config.schema.json +155 -7
  8. package/.aios-core/core/config/schemas/project-config.schema.json +329 -15
  9. package/.aios-core/core/config/template-overrides.js +84 -0
  10. package/.aios-core/core/docs/troubleshooting-guide.md +1 -1
  11. package/.aios-core/core/doctor/checks/agent-memory.js +63 -0
  12. package/.aios-core/core/doctor/checks/claude-md.js +56 -0
  13. package/.aios-core/core/doctor/checks/code-intel.js +57 -0
  14. package/.aios-core/core/doctor/checks/commands-count.js +81 -0
  15. package/.aios-core/core/doctor/checks/core-config.js +53 -0
  16. package/.aios-core/core/doctor/checks/entity-registry.js +53 -0
  17. package/.aios-core/core/doctor/checks/git-hooks.js +50 -0
  18. package/.aios-core/core/doctor/checks/graph-dashboard.js +48 -0
  19. package/.aios-core/core/doctor/checks/hooks-claude-count.js +107 -0
  20. package/.aios-core/core/doctor/checks/ide-sync.js +68 -0
  21. package/.aios-core/core/doctor/checks/index.js +46 -0
  22. package/.aios-core/core/doctor/checks/node-version.js +33 -0
  23. package/.aios-core/core/doctor/checks/npm-packages.js +35 -0
  24. package/.aios-core/core/doctor/checks/rules-files.js +61 -0
  25. package/.aios-core/core/doctor/checks/settings-json.js +121 -0
  26. package/.aios-core/core/doctor/checks/skills-count.js +72 -0
  27. package/.aios-core/core/doctor/fix-handler.js +165 -0
  28. package/.aios-core/core/doctor/formatters/json.js +14 -0
  29. package/.aios-core/core/doctor/formatters/text.js +59 -0
  30. package/.aios-core/core/doctor/index.js +94 -0
  31. package/.aios-core/core/graph-dashboard/cli.js +361 -0
  32. package/.aios-core/core/graph-dashboard/data-sources/code-intel-source.js +234 -0
  33. package/.aios-core/core/graph-dashboard/data-sources/metrics-source.js +95 -0
  34. package/.aios-core/core/graph-dashboard/data-sources/registry-source.js +106 -0
  35. package/.aios-core/core/graph-dashboard/formatters/dot-formatter.js +45 -0
  36. package/.aios-core/core/graph-dashboard/formatters/html-formatter.js +1437 -0
  37. package/.aios-core/core/graph-dashboard/formatters/json-formatter.js +13 -0
  38. package/.aios-core/core/graph-dashboard/formatters/mermaid-formatter.js +59 -0
  39. package/.aios-core/core/graph-dashboard/index.js +21 -0
  40. package/.aios-core/core/graph-dashboard/renderers/stats-renderer.js +217 -0
  41. package/.aios-core/core/graph-dashboard/renderers/status-renderer.js +125 -0
  42. package/.aios-core/core/graph-dashboard/renderers/tree-renderer.js +119 -0
  43. package/.aios-core/core/health-check/base-check.js +1 -1
  44. package/.aios-core/core/health-check/check-registry.js +1 -1
  45. package/.aios-core/core/health-check/checks/deployment/build-config.js +1 -1
  46. package/.aios-core/core/health-check/checks/deployment/ci-config.js +1 -1
  47. package/.aios-core/core/health-check/checks/deployment/deployment-readiness.js +1 -1
  48. package/.aios-core/core/health-check/checks/deployment/docker-config.js +1 -1
  49. package/.aios-core/core/health-check/checks/deployment/env-file.js +1 -1
  50. package/.aios-core/core/health-check/checks/deployment/index.js +1 -1
  51. package/.aios-core/core/health-check/checks/index.js +1 -1
  52. package/.aios-core/core/health-check/checks/local/disk-space.js +1 -1
  53. package/.aios-core/core/health-check/checks/local/environment-vars.js +1 -1
  54. package/.aios-core/core/health-check/checks/local/git-install.js +1 -1
  55. package/.aios-core/core/health-check/checks/local/ide-detection.js +1 -1
  56. package/.aios-core/core/health-check/checks/local/index.js +1 -1
  57. package/.aios-core/core/health-check/checks/local/memory.js +1 -1
  58. package/.aios-core/core/health-check/checks/local/network.js +1 -1
  59. package/.aios-core/core/health-check/checks/local/npm-install.js +1 -1
  60. package/.aios-core/core/health-check/checks/local/shell-environment.js +1 -1
  61. package/.aios-core/core/health-check/checks/project/agent-config.js +1 -1
  62. package/.aios-core/core/health-check/checks/project/aios-directory.js +1 -1
  63. package/.aios-core/core/health-check/checks/project/dependencies.js +1 -1
  64. package/.aios-core/core/health-check/checks/project/framework-config.js +1 -1
  65. package/.aios-core/core/health-check/checks/project/index.js +1 -1
  66. package/.aios-core/core/health-check/checks/project/node-version.js +1 -1
  67. package/.aios-core/core/health-check/checks/project/package-json.js +1 -1
  68. package/.aios-core/core/health-check/checks/project/task-definitions.js +1 -1
  69. package/.aios-core/core/health-check/checks/project/workflow-dependencies.js +1 -1
  70. package/.aios-core/core/health-check/checks/repository/branch-protection.js +1 -1
  71. package/.aios-core/core/health-check/checks/repository/commit-history.js +1 -1
  72. package/.aios-core/core/health-check/checks/repository/conflicts.js +1 -1
  73. package/.aios-core/core/health-check/checks/repository/git-repo.js +1 -1
  74. package/.aios-core/core/health-check/checks/repository/git-status.js +1 -1
  75. package/.aios-core/core/health-check/checks/repository/gitignore.js +1 -1
  76. package/.aios-core/core/health-check/checks/repository/index.js +1 -1
  77. package/.aios-core/core/health-check/checks/repository/large-files.js +1 -1
  78. package/.aios-core/core/health-check/checks/repository/lockfile-integrity.js +1 -1
  79. package/.aios-core/core/health-check/checks/services/api-endpoints.js +1 -1
  80. package/.aios-core/core/health-check/checks/services/claude-code.js +1 -1
  81. package/.aios-core/core/health-check/checks/services/gemini-cli.js +1 -1
  82. package/.aios-core/core/health-check/checks/services/github-cli.js +1 -1
  83. package/.aios-core/core/health-check/checks/services/index.js +1 -1
  84. package/.aios-core/core/health-check/checks/services/mcp-integration.js +1 -1
  85. package/.aios-core/core/health-check/engine.js +1 -1
  86. package/.aios-core/core/health-check/healers/backup-manager.js +1 -1
  87. package/.aios-core/core/health-check/healers/index.js +1 -1
  88. package/.aios-core/core/health-check/index.js +9 -2
  89. package/.aios-core/core/health-check/reporters/console.js +1 -1
  90. package/.aios-core/core/health-check/reporters/index.js +1 -1
  91. package/.aios-core/core/health-check/reporters/json.js +1 -1
  92. package/.aios-core/core/health-check/reporters/markdown.js +1 -1
  93. package/.aios-core/core/ids/layer-classifier.js +65 -0
  94. package/.aios-core/core/ids/registry-updater.js +49 -0
  95. package/.aios-core/core/index.esm.js +1 -1
  96. package/.aios-core/core/index.js +1 -1
  97. package/.aios-core/core/session/context-detector.js +2 -7
  98. package/.aios-core/core/synapse/context/context-tracker.js +9 -1
  99. package/.aios-core/core/synapse/engine.js +33 -13
  100. package/.aios-core/core/synapse/runtime/hook-runtime.js +40 -2
  101. package/.aios-core/core/synapse/session/session-manager.js +3 -2
  102. package/.aios-core/core/synapse/utils/atomic-write.js +79 -0
  103. package/.aios-core/core-config.yaml +34 -1
  104. package/.aios-core/data/aios-kb.md +2 -2
  105. package/.aios-core/data/capability-detection.js +290 -0
  106. package/.aios-core/data/entity-registry.yaml +10424 -2127
  107. package/.aios-core/data/mcp-discipline.js +166 -0
  108. package/.aios-core/data/mcp-tool-examples.yaml +215 -0
  109. package/.aios-core/data/tok2-validation.js +168 -0
  110. package/.aios-core/data/tok3-token-comparison.js +123 -0
  111. package/.aios-core/data/tool-registry.yaml +648 -0
  112. package/.aios-core/data/tool-search-validation.js +174 -0
  113. package/.aios-core/development/agents/analyst/MEMORY.md +33 -0
  114. package/.aios-core/development/agents/architect/MEMORY.md +39 -0
  115. package/.aios-core/development/agents/data-engineer/MEMORY.md +32 -0
  116. package/.aios-core/development/agents/dev/MEMORY.md +46 -0
  117. package/.aios-core/development/agents/dev.md +1 -1
  118. package/.aios-core/development/agents/devops/MEMORY.md +39 -0
  119. package/.aios-core/development/agents/devops.md +22 -0
  120. package/.aios-core/development/agents/pm/MEMORY.md +38 -0
  121. package/.aios-core/development/agents/po/MEMORY.md +45 -0
  122. package/.aios-core/development/agents/qa/MEMORY.md +42 -0
  123. package/.aios-core/development/agents/qa.md +1 -1
  124. package/.aios-core/development/agents/sm/MEMORY.md +31 -0
  125. package/.aios-core/development/agents/ux/MEMORY.md +31 -0
  126. package/.aios-core/development/checklists/issue-triage-checklist.md +35 -0
  127. package/.aios-core/development/checklists/memory-audit-checklist.md +53 -0
  128. package/.aios-core/development/scripts/issue-triage.js +171 -0
  129. package/.aios-core/development/scripts/populate-entity-registry.js +412 -19
  130. package/.aios-core/development/scripts/unified-activation-pipeline.js +31 -10
  131. package/.aios-core/development/tasks/analyze-project-structure.md +48 -0
  132. package/.aios-core/development/tasks/brownfield-create-epic.md +41 -0
  133. package/.aios-core/development/tasks/create-doc.md +44 -0
  134. package/.aios-core/development/tasks/create-next-story.md +10 -0
  135. package/.aios-core/development/tasks/dev-develop-story.md +1 -1
  136. package/.aios-core/development/tasks/github-devops-github-pr-automation.md +49 -0
  137. package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +63 -0
  138. package/.aios-core/development/tasks/github-issue-triage.md +118 -0
  139. package/.aios-core/development/tasks/health-check.yaml +206 -171
  140. package/.aios-core/development/tasks/kb-mode-interaction.md +3 -3
  141. package/.aios-core/development/tasks/plan-create-context.md +47 -1
  142. package/.aios-core/development/tasks/plan-create-implementation.md +55 -0
  143. package/.aios-core/development/tasks/pr-automation.md +5 -5
  144. package/.aios-core/development/tasks/qa-gate.md +48 -0
  145. package/.aios-core/development/tasks/qa-review-story.md +24 -1
  146. package/.aios-core/development/tasks/resolve-github-issue.md +608 -0
  147. package/.aios-core/development/tasks/review-contributor-pr.md +152 -0
  148. package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
  149. package/.aios-core/development/tasks/spec-research-dependencies.md +4 -0
  150. package/.aios-core/development/tasks/triage-github-issues.md +356 -0
  151. package/.aios-core/development/tasks/validate-agents.md +4 -0
  152. package/.aios-core/development/tasks/validate-next-story.md +10 -0
  153. package/.aios-core/development/templates/agent-handoff-tmpl.yaml +48 -0
  154. package/.aios-core/development/templates/code-intel-integration-pattern.md +199 -0
  155. package/.aios-core/development/templates/ptc-entity-validation.md +113 -0
  156. package/.aios-core/development/templates/ptc-qa-gate.md +100 -0
  157. package/.aios-core/development/templates/ptc-research-aggregation.md +94 -0
  158. package/.aios-core/development/templates/service-template/README.md.hbs +158 -158
  159. package/.aios-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
  160. package/.aios-core/development/templates/service-template/client.ts.hbs +403 -403
  161. package/.aios-core/development/templates/service-template/errors.ts.hbs +182 -182
  162. package/.aios-core/development/templates/service-template/index.ts.hbs +120 -120
  163. package/.aios-core/development/templates/service-template/package.json.hbs +87 -87
  164. package/.aios-core/development/templates/service-template/types.ts.hbs +145 -145
  165. package/.aios-core/development/templates/squad/agent-template.md +11 -0
  166. package/.aios-core/development/templates/squad/task-template.md +21 -0
  167. package/.aios-core/development/templates/squad-template/LICENSE +21 -21
  168. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +1 -1
  169. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1 -1
  170. package/.aios-core/framework-config.yaml +8 -0
  171. package/.aios-core/index.esm.js +1 -1
  172. package/.aios-core/index.js +1 -1
  173. package/.aios-core/infrastructure/integrations/ai-providers/index.js +1 -1
  174. package/.aios-core/infrastructure/schemas/task-v3-schema.json +6 -0
  175. package/.aios-core/infrastructure/scripts/collect-tool-usage.js +311 -0
  176. package/.aios-core/infrastructure/scripts/generate-optimization-report.js +497 -0
  177. package/.aios-core/infrastructure/scripts/generate-settings-json.js +300 -0
  178. package/.aios-core/infrastructure/scripts/git-config-detector.js +65 -9
  179. package/.aios-core/infrastructure/scripts/ide-sync/index.js +3 -1
  180. package/.aios-core/infrastructure/scripts/ide-sync/transformers/github-copilot.js +184 -0
  181. package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
  182. package/.aios-core/infrastructure/templates/aios-sync.yaml.template +182 -182
  183. package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -279
  184. package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
  185. package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
  186. package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
  187. package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -63
  188. package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
  189. package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
  190. package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
  191. package/.aios-core/install-manifest.yaml +541 -249
  192. package/.aios-core/lib/build.json +1 -0
  193. package/.aios-core/local-config.yaml.template +71 -71
  194. package/.aios-core/monitor/hooks/lib/__init__.py +1 -1
  195. package/.aios-core/monitor/hooks/lib/enrich.py +58 -58
  196. package/.aios-core/monitor/hooks/lib/send_event.py +47 -47
  197. package/.aios-core/monitor/hooks/notification.py +29 -29
  198. package/.aios-core/monitor/hooks/post_tool_use.py +45 -45
  199. package/.aios-core/monitor/hooks/pre_compact.py +29 -29
  200. package/.aios-core/monitor/hooks/pre_tool_use.py +40 -40
  201. package/.aios-core/monitor/hooks/stop.py +29 -29
  202. package/.aios-core/monitor/hooks/subagent_stop.py +29 -29
  203. package/.aios-core/monitor/hooks/user_prompt_submit.py +38 -38
  204. package/.aios-core/product/templates/adr.hbs +125 -125
  205. package/.aios-core/product/templates/dbdr.hbs +241 -241
  206. package/.aios-core/product/templates/epic.hbs +212 -212
  207. package/.aios-core/product/templates/ide-rules/claude-rules.md +77 -0
  208. package/.aios-core/product/templates/pmdr.hbs +186 -186
  209. package/.aios-core/product/templates/prd-v2.0.hbs +216 -216
  210. package/.aios-core/product/templates/prd.hbs +201 -201
  211. package/.aios-core/product/templates/story.hbs +263 -263
  212. package/.aios-core/product/templates/task.hbs +170 -170
  213. package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -158
  214. package/.aios-core/product/templates/tmpl-migration-script.sql +91 -91
  215. package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
  216. package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
  217. package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -135
  218. package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -77
  219. package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -152
  220. package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -77
  221. package/.aios-core/product/templates/tmpl-seed-data.sql +140 -140
  222. package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -16
  223. package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
  224. package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -140
  225. package/.aios-core/product/templates/tmpl-trigger.sql +152 -152
  226. package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -133
  227. package/.aios-core/product/templates/tmpl-view.sql +177 -177
  228. package/.aios-core/scripts/pm.sh +0 -0
  229. package/.aios-core/user-guide.md +15 -15
  230. package/.aios-core/utils/filters/constants.js +10 -0
  231. package/.aios-core/utils/filters/content-filter.js +223 -0
  232. package/.aios-core/utils/filters/field-filter.js +126 -0
  233. package/.aios-core/utils/filters/index.js +180 -0
  234. package/.aios-core/utils/filters/schema-filter.js +157 -0
  235. package/.claude/CLAUDE.md +62 -0
  236. package/.claude/hooks/enforce-architecture-first.py +196 -196
  237. package/.claude/hooks/enforce-git-push-authority.sh +33 -0
  238. package/.claude/hooks/mind-clone-governance.py +192 -192
  239. package/.claude/hooks/read-protection.py +151 -151
  240. package/.claude/hooks/slug-validation.py +176 -176
  241. package/.claude/hooks/sql-governance.py +182 -182
  242. package/.claude/hooks/synapse-engine.cjs +28 -5
  243. package/.claude/hooks/write-path-validation.py +194 -194
  244. package/.claude/rules/agent-authority.md +105 -0
  245. package/.claude/rules/agent-handoff.md +97 -0
  246. package/.claude/rules/agent-memory-imports.md +15 -0
  247. package/.claude/rules/coderabbit-integration.md +101 -0
  248. package/.claude/rules/ids-principles.md +119 -0
  249. package/.claude/rules/story-lifecycle.md +145 -0
  250. package/.claude/rules/tool-examples.md +64 -0
  251. package/.claude/rules/tool-response-filtering.md +57 -0
  252. package/.claude/rules/workflow-execution.md +150 -0
  253. package/LICENSE +33 -33
  254. package/bin/aios-graph.js +9 -0
  255. package/bin/aios-init.js +2 -2
  256. package/bin/aios-minimal.js +0 -0
  257. package/bin/aios.js +17 -221
  258. package/bin/utils/detect-fsmonitor.js +70 -0
  259. package/bin/utils/framework-guard.js +238 -0
  260. package/bin/utils/validate-publish.js +108 -0
  261. package/package.json +6 -3
  262. package/packages/aios-install/bin/aios-install.js +0 -0
  263. package/packages/aios-install/bin/edmcp.js +0 -0
  264. package/packages/aios-pro-cli/bin/aios-pro.js +2 -0
  265. package/packages/installer/src/installer/brownfield-upgrader.js +68 -5
  266. package/packages/installer/src/merger/index.js +3 -0
  267. package/packages/installer/src/merger/strategies/index.js +6 -0
  268. package/packages/installer/src/merger/strategies/yaml-merger.js +181 -0
  269. package/packages/installer/src/updater/index.js +4 -4
  270. package/packages/installer/src/wizard/i18n.js +321 -3
  271. package/packages/installer/src/wizard/ide-config-generator.js +152 -25
  272. package/packages/installer/src/wizard/index.js +119 -1
  273. package/packages/installer/src/wizard/pro-setup.js +137 -121
  274. package/packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js +261 -0
  275. package/packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js +192 -0
  276. package/packages/installer/tests/unit/doctor/doctor-checks.test.js +551 -0
  277. package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +134 -0
  278. package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +186 -0
  279. package/packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js +309 -0
  280. package/packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js +230 -0
  281. package/packages/installer/tests/unit/merger/strategies.test.js +2 -2
  282. package/packages/installer/tests/unit/merger/yaml-merger.test.js +327 -0
  283. package/scripts/check-markdown-links.py +352 -352
  284. package/scripts/dashboard-parallel-dev.sh +0 -0
  285. package/scripts/dashboard-parallel-phase3.sh +0 -0
  286. package/scripts/dashboard-parallel-phase4.sh +0 -0
  287. package/scripts/install-monitor-hooks.sh +0 -0
  288. package/scripts/package-synapse.js +2 -1
@@ -0,0 +1,157 @@
1
+ // =============================================================================
2
+ // schema-filter.js — Schema-type filter for MCP tool responses
3
+ // =============================================================================
4
+ // Selects only whitelisted fields from JSON objects or arrays of objects.
5
+ // Optionally truncates serialized output to max_tokens.
6
+ //
7
+ // Usage (stdin):
8
+ // echo '[{"name":"John","ssn":"123"}]' | node schema-filter.js --fields name
9
+ //
10
+ // Usage (programmatic):
11
+ // const { filterSchema } = require('./schema-filter');
12
+ // const result = filterSchema(data, { fields: ['name', 'url'] });
13
+ // =============================================================================
14
+
15
+ 'use strict';
16
+
17
+ const fs = require('fs');
18
+ const { CHARS_PER_TOKEN } = require('./constants');
19
+
20
+ /**
21
+ * Project whitelisted fields from an object.
22
+ * @param {Object} obj - Source object
23
+ * @param {string[]} fields - Fields to keep
24
+ * @returns {Object} Projected object
25
+ */
26
+ function projectFields(obj, fields) {
27
+ if (!obj || typeof obj !== 'object') return obj;
28
+
29
+ const result = {};
30
+ for (const field of fields) {
31
+ if (field in obj) {
32
+ result[field] = obj[field];
33
+ }
34
+ }
35
+ return result;
36
+ }
37
+
38
+ /**
39
+ * Apply schema filter to input data.
40
+ * @param {Object|Object[]} input - Parsed JSON input
41
+ * @param {Object} options - Filter options
42
+ * @param {string[]} options.fields - Fields to whitelist
43
+ * @param {number} [options.max_tokens] - Optional token limit for output
44
+ * @returns {{ filtered: Object|Object[], original_length: number, filtered_length: number, reduction_pct: number }}
45
+ */
46
+ function filterSchema(input, options = {}) {
47
+ const fields = options.fields || [];
48
+
49
+ if (!fields.length) {
50
+ // No fields specified — pass through unfiltered
51
+ const serialized = JSON.stringify(input, null, 2);
52
+ return {
53
+ filtered: input,
54
+ original_length: serialized.length,
55
+ filtered_length: serialized.length,
56
+ reduction_pct: 0,
57
+ };
58
+ }
59
+
60
+ const originalSerialized = JSON.stringify(input, null, 2);
61
+ const originalLength = originalSerialized.length;
62
+
63
+ let filtered;
64
+ if (Array.isArray(input)) {
65
+ filtered = input.map((item) => projectFields(item, fields));
66
+ } else {
67
+ filtered = projectFields(input, fields);
68
+ }
69
+
70
+ let filteredSerialized = JSON.stringify(filtered, null, 2);
71
+
72
+ // Apply max_tokens truncation if specified
73
+ if (options.max_tokens) {
74
+ const maxChars = options.max_tokens * CHARS_PER_TOKEN;
75
+ if (filteredSerialized.length > maxChars) {
76
+ // For arrays, truncate by removing trailing items to keep valid JSON
77
+ if (Array.isArray(filtered)) {
78
+ while (JSON.stringify(filtered, null, 2).length > maxChars && filtered.length > 1) {
79
+ filtered.pop();
80
+ }
81
+ filteredSerialized = JSON.stringify(filtered, null, 2);
82
+ if (filteredSerialized.length > maxChars) {
83
+ filteredSerialized = filteredSerialized.slice(0, maxChars) + '\n... [truncated]';
84
+ }
85
+ } else {
86
+ // For objects, hard truncate with marker (object already field-projected)
87
+ filteredSerialized = filteredSerialized.slice(0, maxChars) + '\n... [truncated]';
88
+ }
89
+ }
90
+ }
91
+
92
+ const filteredLength = filteredSerialized.length;
93
+ const reductionPct = originalLength > 0
94
+ ? Math.round((1 - filteredLength / originalLength) * 100)
95
+ : 0;
96
+
97
+ return {
98
+ filtered,
99
+ original_length: originalLength,
100
+ filtered_length: filteredLength,
101
+ reduction_pct: reductionPct,
102
+ };
103
+ }
104
+
105
+ // ---------------------------------------------------------------------------
106
+ // CLI entrypoint
107
+ // ---------------------------------------------------------------------------
108
+ function parseArgs(argv) {
109
+ const args = {};
110
+ for (let i = 2; i < argv.length; i++) {
111
+ if (argv[i] === '--fields' && argv[i + 1]) {
112
+ args.fields = argv[i + 1].split(',');
113
+ i++;
114
+ } else if (argv[i] === '--input' && argv[i + 1]) {
115
+ args.input = argv[i + 1];
116
+ i++;
117
+ } else if (argv[i] === '--max-tokens' && argv[i + 1]) {
118
+ args.max_tokens = parseInt(argv[i + 1], 10);
119
+ i++;
120
+ }
121
+ }
122
+ return args;
123
+ }
124
+
125
+ function main() {
126
+ const args = parseArgs(process.argv);
127
+
128
+ let inputData;
129
+ if (args.input) {
130
+ inputData = fs.readFileSync(args.input, 'utf8');
131
+ } else if (!process.stdin.isTTY) {
132
+ inputData = fs.readFileSync(0, 'utf8');
133
+ } else {
134
+ console.error('Usage: echo \'[{"a":1,"b":2}]\' | node schema-filter.js --fields a');
135
+ process.exit(1);
136
+ }
137
+
138
+ try {
139
+ inputData = JSON.parse(inputData);
140
+ } catch (err) {
141
+ console.error('Error: Input must be valid JSON.', err.message);
142
+ process.exit(1);
143
+ }
144
+
145
+ const result = filterSchema(inputData, {
146
+ fields: args.fields,
147
+ max_tokens: args.max_tokens,
148
+ });
149
+
150
+ console.log(JSON.stringify(result, null, 2));
151
+ }
152
+
153
+ if (require.main === module) {
154
+ main();
155
+ }
156
+
157
+ module.exports = { filterSchema, projectFields, CHARS_PER_TOKEN };
package/.claude/CLAUDE.md CHANGED
@@ -4,6 +4,7 @@ Este arquivo configura o comportamento do Claude Code ao trabalhar neste reposit
4
4
 
5
5
  ---
6
6
 
7
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
7
8
  ## Constitution
8
9
 
9
10
  O AIOS possui uma **Constitution formal** com princípios inegociáveis e gates automáticos.
@@ -25,6 +26,7 @@ O AIOS possui uma **Constitution formal** com princípios inegociáveis e gates
25
26
 
26
27
  ---
27
28
 
29
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
28
30
  ## Language Configuration
29
31
 
30
32
  Language preference is handled by Claude Code's native `language` setting (v2.1.0+).
@@ -38,6 +40,7 @@ The installer writes this automatically during `npx aios-core install`. No langu
38
40
 
39
41
  ---
40
42
 
43
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
41
44
  ## Premissa Arquitetural: CLI First
42
45
 
43
46
  O Synkra AIOS segue uma hierarquia clara de prioridades que deve guiar **TODAS** as decisões:
@@ -64,6 +67,7 @@ CLI First → Observability Second → UI Third
64
67
 
65
68
  ---
66
69
 
70
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
67
71
  ## Estrutura do Projeto
68
72
 
69
73
  ```
@@ -84,6 +88,25 @@ aios-core/
84
88
 
85
89
  ---
86
90
 
91
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
92
+ ## Framework vs Project Boundary
93
+
94
+ O AIOS usa um modelo de 4 camadas (L1-L4) para separar artefatos do framework e do projeto. Deny rules em `.claude/settings.json` reforçam isso deterministicamente.
95
+
96
+ | Camada | Mutabilidade | Paths | Notas |
97
+ |--------|-------------|-------|-------|
98
+ | **L1** Framework Core | NEVER modify | `.aios-core/core/`, `.aios-core/constitution.md`, `bin/aios.js`, `bin/aios-init.js` | Protegido por deny rules |
99
+ | **L2** Framework Templates | NEVER modify | `.aios-core/development/tasks/`, `.aios-core/development/templates/`, `.aios-core/development/checklists/`, `.aios-core/development/workflows/`, `.aios-core/infrastructure/` | Extend-only |
100
+ | **L3** Project Config | Mutable (exceptions) | `.aios-core/data/`, `agents/*/MEMORY.md`, `core-config.yaml` | Allow rules permitem |
101
+ | **L4** Project Runtime | ALWAYS modify | `docs/stories/`, `packages/`, `squads/`, `tests/` | Trabalho do projeto |
102
+
103
+ **Toggle:** `core-config.yaml` → `boundary.frameworkProtection: true/false` controla se deny rules são ativas (default: true para projetos, false para contribuidores do framework).
104
+
105
+ > **Referência formal:** `.claude/settings.json` (deny/allow rules), `.claude/rules/agent-authority.md`
106
+
107
+ ---
108
+
109
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
87
110
  ## Sistema de Agentes
88
111
 
89
112
  ### Ativação de Agentes
@@ -122,6 +145,7 @@ Use prefixo `*` para comandos:
122
145
 
123
146
  ---
124
147
 
148
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
125
149
  ## Story-Driven Development
126
150
 
127
151
  1. **Trabalhe a partir de stories** - Todo desenvolvimento começa com uma story em `docs/stories/`
@@ -136,6 +160,7 @@ Use prefixo `*` para comandos:
136
160
 
137
161
  ---
138
162
 
163
+ <!-- PROJECT-CUSTOMIZED: Safe to modify for your project -->
139
164
  ## Padrões de Código
140
165
 
141
166
  ### Convenções de Nomenclatura
@@ -185,6 +210,7 @@ try {
185
210
 
186
211
  ---
187
212
 
213
+ <!-- PROJECT-CUSTOMIZED: Safe to modify for your project -->
188
214
  ## Testes & Quality Gates
189
215
 
190
216
  ### Comandos de Teste
@@ -205,6 +231,7 @@ npm test # Jest
205
231
 
206
232
  ---
207
233
 
234
+ <!-- PROJECT-CUSTOMIZED: Safe to modify for your project -->
208
235
  ## Convenções Git
209
236
 
210
237
  ### Commits
@@ -229,6 +256,7 @@ Seguir Conventional Commits:
229
256
 
230
257
  ---
231
258
 
259
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
232
260
  ## Otimização Claude Code
233
261
 
234
262
  ### Uso de Ferramentas
@@ -245,6 +273,13 @@ Seguir Conventional Commits:
245
273
  - Use execução paralela para operações independentes
246
274
  - Cache dados frequentemente acessados durante a sessão
247
275
 
276
+ ### Context Management (NOG-18 + TOK-4A)
277
+ - Use `/compact` when context feels heavy or approaching limits
278
+ - Context brackets (SYNAPSE) replaced by native compaction
279
+ - Agent memory persists in `.aios-core/development/agents/{id}/MEMORY.md`
280
+ - Rules with `paths:` frontmatter only load when working on matching files
281
+ - **Agent Handoff:** On agent switch (`@agent`), previous agent is compacted to ~379-token handoff artifact. See `.claude/rules/agent-handoff.md` for full protocol. Max 3 retained summaries, oldest discarded.
282
+
248
283
  ### Gerenciamento de Sessão
249
284
  - Rastreie progresso da story durante a sessão
250
285
  - Atualize checkboxes imediatamente após completar tasks
@@ -259,6 +294,7 @@ Seguir Conventional Commits:
259
294
 
260
295
  ---
261
296
 
297
+ <!-- PROJECT-CUSTOMIZED: Safe to modify for your project -->
262
298
  ## Comandos Frequentes
263
299
 
264
300
  ### Desenvolvimento
@@ -287,6 +323,7 @@ npm run build # Build produção
287
323
 
288
324
  ---
289
325
 
326
+ <!-- FRAMEWORK-OWNED: Generated by AIOS installer, do not customize -->
290
327
  ## MCP Usage
291
328
 
292
329
  Ver `.claude/rules/mcp-usage.md` para regras detalhadas.
@@ -298,6 +335,31 @@ Ver `.claude/rules/mcp-usage.md` para regras detalhadas.
298
335
 
299
336
  ---
300
337
 
338
+ <!-- PROJECT-CUSTOMIZED: Token Optimization TOK-2 -->
339
+ ## Tool Selection Guidance
340
+
341
+ Prefer native Claude Code tools over MCP for common operations. The tool-registry at `.aios-core/data/tool-registry.yaml` defines the 3-Tier Tool Mesh:
342
+
343
+ | Tier | When Loaded | Examples |
344
+ |------|-------------|---------|
345
+ | **1** (Always) | Session start | Read, Write, Edit, Bash, Grep, Glob, Task |
346
+ | **2** (Deferred) | Agent activation | git, coderabbit, context7, supabase |
347
+ | **3** (Deferred) | Via tool search | EXA, Playwright, Apify, Nogic, Code-Graph |
348
+
349
+ **Guidelines:**
350
+ - Use Tier 1 native tools for file ops, search, and commands — avoid MCP equivalents
351
+ - Tier 3 MCP tools are deferred via Tool Search — only loaded when explicitly needed
352
+ - Limit tool search to maximum 2 searches per turn to avoid overhead
353
+ - Essential MCP servers (nogic, code-graph) are never disabled
354
+ - Non-essential servers (EXA, Apify, Playwright) load on-demand via tool search
355
+
356
+ **Tool Examples (TOK-4B):** Concrete input examples improve tool selection accuracy by +18pp. See `.claude/rules/tool-examples.md` for examples of top-10 tools. Full registry: `.aios-core/data/mcp-tool-examples.yaml`. ADR-5: examples for always-loaded tools only, search for deferred tools.
357
+
358
+ **Runtime capabilities:** `.aios/runtime-capabilities.json` (generated by capability-detection.js)
359
+
360
+ ---
361
+
362
+ <!-- PROJECT-CUSTOMIZED: Safe to modify for your project -->
301
363
  ## Debug
302
364
 
303
365
  ### Habilitar Debug