simt-dev 0.6.0__tar.gz → 0.6.2__tar.gz

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 (274) hide show
  1. {simt_dev-0.6.0 → simt_dev-0.6.2}/CHANGELOG.md +24 -0
  2. {simt_dev-0.6.0 → simt_dev-0.6.2}/PKG-INFO +1 -1
  3. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-098-the-fourth-channel-is-one-file-and-it-needs-no-toolchain.md +1 -1
  4. simt_dev-0.6.2/docs/decisions/ADR-099-the-release-verifies-served-bytes-and-the-formula-mirrors-them.md +79 -0
  5. {simt_dev-0.6.0 → simt_dev-0.6.2}/package.json +1 -1
  6. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/ci/workflow.mjs +7 -5
  7. {simt_dev-0.6.0 → simt_dev-0.6.2}/.gitignore +0 -0
  8. {simt_dev-0.6.0 → simt_dev-0.6.2}/LICENSE +0 -0
  9. {simt_dev-0.6.0 → simt_dev-0.6.2}/README.md +0 -0
  10. {simt_dev-0.6.0 → simt_dev-0.6.2}/bin/simt.mjs +0 -0
  11. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-001-push-requires-approval.md +0 -0
  12. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-002-refactor-blast-radius.md +0 -0
  13. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-003-test-breadth.md +0 -0
  14. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-004-hook-owns-format.md +0 -0
  15. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-005-file-length.md +0 -0
  16. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-006-coverage-bar.md +0 -0
  17. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-007-section-skeleton.md +0 -0
  18. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-008-verdict-vocabulary.md +0 -0
  19. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-009-skill-layout.md +0 -0
  20. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-010-runner-invocation.md +0 -0
  21. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-011-windows-support.md +0 -0
  22. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-012-drop-windows-support.md +0 -0
  23. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-013-genericity-by-facts-and-local-profiles.md +0 -0
  24. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-014-workspace-is-configuration.md +0 -0
  25. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-015-a-source-is-content-not-a-location.md +0 -0
  26. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-016-a-divergent-rule-is-retired-not-merged.md +0 -0
  27. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-017-a-declared-gate-must-be-runnable.md +0 -0
  28. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-018-an-unset-hooks-path-is-not-an-absent-hook.md +0 -0
  29. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-019-a-declared-command-is-the-runner.md +0 -0
  30. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-020-a-rule-is-written-per-surface-and-pointed-not-copied.md +0 -0
  31. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-021-one-surface-per-repo.md +0 -0
  32. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-022-a-key-simt-dev-reads-is-prefixed.md +0 -0
  33. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-023-the-gate-ships-as-a-file-the-repo-owns.md +0 -0
  34. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-024-simt-dev-overwrites-its-own-gate-file.md +0 -0
  35. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-025-a-baseline-is-a-region-in-a-file-the-repo-owns.md +0 -0
  36. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-026-a-config-without-a-region-is-a-file-the-repo-owns.md +0 -0
  37. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-027-the-one-gitattributes-line-that-is-neither-dangerous-nor-empty.md +0 -0
  38. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-028-a-base-file-is-a-floor-so-the-disagreement-it-cannot-repair-becomes-a-check.md +0 -0
  39. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-029-the-pins-a-repository-declares-are-its-own.md +0 -0
  40. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-030-what-a-plan-does-not-ship-is-a-decision-with-a-record.md +0 -0
  41. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-031-the-suite-stages-the-environment-it-needs.md +0 -0
  42. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-032-provenance-is-a-content-digest-not-a-commit.md +0 -0
  43. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-033-three-plan-rows-closed-by-decision-not-by-authoring.md +0 -0
  44. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-034-a-staged-tool-refuses-a-partially-staged-file.md +0 -0
  45. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-035-one-write-decision-and-one-json-document.md +0 -0
  46. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-036-a-writer-that-writes-says-so-and-the-instructions-naming-it-move-with-it.md +0 -0
  47. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-037-unchanged-means-writing-would-not-change-a-byte.md +0 -0
  48. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-038-the-gate-filter-belongs-to-every-manifest-writer.md +0 -0
  49. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-039-a-ci-step-runs-a-form-that-can-fail.md +0 -0
  50. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-040-the-last-writer-that-wrote-by-default-was-not-the-one-named.md +0 -0
  51. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-041-the-suite-installs-the-package-in-order-to-test-it.md +0 -0
  52. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-042-a-declared-glob-must-match-a-path-built-from-it.md +0 -0
  53. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-043-a-keyword-is-a-phrase-and-two-letters-is-a-word.md +0 -0
  54. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-044-compatibility-is-not-evidence.md +0 -0
  55. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-045-a-dashboard-that-counts-a-defect.md +0 -0
  56. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-046-one-rule-one-copy.md +0 -0
  57. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-047-a-profile-selects-on-what-a-repository-runs-on.md +0 -0
  58. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-048-a-baseline-carries-only-keys-a-reader-honours.md +0 -0
  59. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-049-a-ruling-that-a-later-record-moved-says-so-where-it-is-printed.md +0 -0
  60. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-050-a-byte-count-is-not-a-region-and-updated-is-not-a-change-of-rules.md +0 -0
  61. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-051-a-pointer-is-the-readers-only-route-so-it-is-not-a-convenience.md +0 -0
  62. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-052-a-dependency-is-counted-against-the-budget-and-there-is-one-budget.md +0 -0
  63. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-053-the-node-floor-is-22-20-0.md +0 -0
  64. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-054-the-digest-covers-every-byte-that-leaves-the-package.md +0 -0
  65. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-055-a-status-line-travels-so-it-may-not-name-a-location.md +0 -0
  66. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-056-three-names-one-of-which-is-cheap-to-move.md +0 -0
  67. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-057-an-identity-is-per-developer-and-a-repository-does-not-own-it.md +0 -0
  68. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-058-one-tool-three-channels-and-the-order-is-forced.md +0 -0
  69. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-059-the-version-a-repository-runs-is-the-one-it-pinned.md +0 -0
  70. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-060-a-repository-with-nothing-to-run-is-adopted-and-says-so.md +0 -0
  71. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-061-the-skill-registry-is-workspace-data.md +0 -0
  72. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-062-a-fresh-adoption-seeds-the-gates-it-can-run.md +0 -0
  73. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-063-the-adoption-escape-hatch-is-opt-in.md +0 -0
  74. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-064-the-context-meter-counts-what-the-tool-wrote.md +0 -0
  75. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-065-a-pack-is-one-shared-rule-set-pinned-by-digest.md +0 -0
  76. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-066-a-monorepo-projects-once-per-package.md +0 -0
  77. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-067-which-harnesses-read-agents-md-is-a-column.md +0 -0
  78. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-068-the-mcp-revision-list-cites-what-was-read.md +0 -0
  79. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-069-the-conformance-lint-checks-the-published-specification.md +0 -0
  80. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-070-the-json-payload-carries-its-own-version.md +0 -0
  81. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-071-a-rule-that-can-be-narrowed-is-written-narrow.md +0 -0
  82. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-072-the-budget-is-a-declaration-beside-the-gates.md +0 -0
  83. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-073-a-kernel-is-a-smaller-projection-the-repository-asks-for.md +0 -0
  84. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-074-a-rule-and-a-decision-are-readable-by-uri.md +0 -0
  85. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-075-nothing-leaves-the-machine.md +0 -0
  86. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-076-a-change-to-what-agents-read-is-measured.md +0 -0
  87. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-077-the-command-card-leads-the-region-and-reads-committed-evidence.md +0 -0
  88. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-078-a-line-the-repository-already-proves-does-not-ship.md +0 -0
  89. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-079-the-rules-are-enforced-at-the-tool-call-from-one-policy-table.md +0 -0
  90. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-080-the-tools-own-names-are-not-repositories-and-neither-reader-decides-by-shape.md +0 -0
  91. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-081-a-tracker-is-read-through-the-repositorys-template.md +0 -0
  92. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-082-the-tracker-override-is-a-manifest-key.md +0 -0
  93. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-083-a-budget-is-met-by-cutting-the-kernel-and-hard-is-the-floor.md +0 -0
  94. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-084-a-workspace-carries-its-repeated-rules-once.md +0 -0
  95. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-085-the-region-ends-with-the-names-it-kept-out.md +0 -0
  96. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-086-the-stable-prefix-comes-first-and-the-lock-records-both-digests.md +0 -0
  97. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-087-a-run-is-evidence-for-one-tree.md +0 -0
  98. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-088-a-marked-line-is-enforced-by-a-checker.md +0 -0
  99. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-089-the-local-index-is-a-cache-of-git-blobs.md +0 -0
  100. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-090-an-optional-adapter-is-off-until-named.md +0 -0
  101. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-091-the-map-ranks-files-a-task-mentions.md +0 -0
  102. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-092-tests-are-imports-conventions-and-coverage.md +0 -0
  103. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-093-why-names-what-governs-a-file.md +0 -0
  104. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-094-a-change-runs-the-tests-that-import-it.md +0 -0
  105. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-095-gate-output-keeps-the-failures.md +0 -0
  106. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-096-impact-names-who-a-change-reaches.md +0 -0
  107. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/ADR-097-the-channels-publish-by-hand-and-the-version-rides-in-as-an-input.md +0 -0
  108. {simt_dev-0.6.0 → simt_dev-0.6.2}/docs/decisions/README.md +0 -0
  109. {simt_dev-0.6.0 → simt_dev-0.6.2}/pyproject.toml +0 -0
  110. {simt_dev-0.6.0 → simt_dev-0.6.2}/python/simt_dev/__init__.py +0 -0
  111. {simt_dev-0.6.0 → simt_dev-0.6.2}/python/simt_dev/cli.py +0 -0
  112. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/core.md +0 -0
  113. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/mdc/intake-questions.mdc +0 -0
  114. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/mdc/preview-postflight.mdc +0 -0
  115. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/mdc/slice-commit.mdc +0 -0
  116. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/mdc/test-gate.mdc +0 -0
  117. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/android.md +0 -0
  118. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/cloudflare-workers.md +0 -0
  119. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/connectiq.md +0 -0
  120. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/container.md +0 -0
  121. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/dart.md +0 -0
  122. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/deno.md +0 -0
  123. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/dotnet.md +0 -0
  124. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/elixir.md +0 -0
  125. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/go.md +0 -0
  126. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/jvm.md +0 -0
  127. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/node.md +0 -0
  128. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/python.md +0 -0
  129. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/react-native.md +0 -0
  130. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/react-web.md +0 -0
  131. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/ruby.md +0 -0
  132. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/rust.md +0 -0
  133. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/swift.md +0 -0
  134. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/typescript.md +0 -0
  135. {simt_dev-0.6.0 → simt_dev-0.6.2}/rules/stacks/uv.md +0 -0
  136. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/advice/advice.mjs +0 -0
  137. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/agenthooks/decide.mjs +0 -0
  138. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/agenthooks/policy.mjs +0 -0
  139. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/agenthooks/prompt.mjs +0 -0
  140. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/agenthooks/render.mjs +0 -0
  141. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/argv.mjs +0 -0
  142. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/ablate.mjs +0 -0
  143. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/adapters.json +0 -0
  144. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/grade.mjs +0 -0
  145. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/mine.mjs +0 -0
  146. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/probes.mjs +0 -0
  147. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/report.mjs +0 -0
  148. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/run.mjs +0 -0
  149. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/tasks.mjs +0 -0
  150. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/bench/variants.mjs +0 -0
  151. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/brief/assemble.mjs +0 -0
  152. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/brief/kind.mjs +0 -0
  153. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/brief/packet.mjs +0 -0
  154. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/ci/dependabot.mjs +0 -0
  155. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/agenthook.mjs +0 -0
  156. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/bench.mjs +0 -0
  157. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/brief.mjs +0 -0
  158. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/ci.mjs +0 -0
  159. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/compare.mjs +0 -0
  160. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/decide.mjs +0 -0
  161. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/distill.mjs +0 -0
  162. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/evidence.mjs +0 -0
  163. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/gate.mjs +0 -0
  164. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/graph.mjs +0 -0
  165. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/harness.mjs +0 -0
  166. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/help.mjs +0 -0
  167. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/hooks.mjs +0 -0
  168. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/impact.mjs +0 -0
  169. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/index.mjs +0 -0
  170. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/init.mjs +0 -0
  171. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/lessons.mjs +0 -0
  172. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/local.mjs +0 -0
  173. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/map.mjs +0 -0
  174. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/mcp.mjs +0 -0
  175. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/pack.mjs +0 -0
  176. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/plan.mjs +0 -0
  177. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/plugin.mjs +0 -0
  178. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/repoindex.mjs +0 -0
  179. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/review.mjs +0 -0
  180. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/rules.mjs +0 -0
  181. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/shared.mjs +0 -0
  182. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/skills.mjs +0 -0
  183. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/skillscompile.mjs +0 -0
  184. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/skillsinstall.mjs +0 -0
  185. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/sync.mjs +0 -0
  186. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/tests.mjs +0 -0
  187. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/tokens.mjs +0 -0
  188. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/upgrade.mjs +0 -0
  189. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/commands/why.mjs +0 -0
  190. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/compare/discover.mjs +0 -0
  191. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/compare/hooksstate.mjs +0 -0
  192. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/compare/learn.mjs +0 -0
  193. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/compare/row.mjs +0 -0
  194. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/decisions/index.mjs +0 -0
  195. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/distill/distill.mjs +0 -0
  196. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/distill/engine.mjs +0 -0
  197. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/distribute/release.mjs +0 -0
  198. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/federation/client.mjs +0 -0
  199. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/federation/config.mjs +0 -0
  200. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/federation/query.mjs +0 -0
  201. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/graph/compile.mjs +0 -0
  202. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/graph/load.mjs +0 -0
  203. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/graph/spec.mjs +0 -0
  204. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/graph/speccheck.mjs +0 -0
  205. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/hooks/capability.mjs +0 -0
  206. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/hooks/dispatcher.mjs +0 -0
  207. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/hooks/gates.mjs +0 -0
  208. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/hooks/resolve.mjs +0 -0
  209. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/hooks/shim.mjs +0 -0
  210. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/hooks/where.mjs +0 -0
  211. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/identity.mjs +0 -0
  212. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/compact.mjs +0 -0
  213. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/extract.mjs +0 -0
  214. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/gate.mjs +0 -0
  215. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/govern.mjs +0 -0
  216. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/impact.mjs +0 -0
  217. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/map.mjs +0 -0
  218. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/persist.mjs +0 -0
  219. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/store.mjs +0 -0
  220. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/index/tests.mjs +0 -0
  221. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/kernel/budget.mjs +0 -0
  222. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/kernel/card.mjs +0 -0
  223. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/kernel/checks.mjs +0 -0
  224. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/kernel/inferability.mjs +0 -0
  225. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/kernel/variants.mjs +0 -0
  226. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/ledger/index.mjs +0 -0
  227. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/local/client.mjs +0 -0
  228. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/local/config.mjs +0 -0
  229. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/locate.mjs +0 -0
  230. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/mcp/prompts.mjs +0 -0
  231. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/mcp/resources.mjs +0 -0
  232. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/mcp/schema.mjs +0 -0
  233. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/mcp/server.mjs +0 -0
  234. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/mcp/tools.mjs +0 -0
  235. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/measure/context.mjs +0 -0
  236. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/measure/loaderView.mjs +0 -0
  237. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/measure/session.mjs +0 -0
  238. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/memory/decide.mjs +0 -0
  239. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/memory/lessons.mjs +0 -0
  240. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/monorepo.mjs +0 -0
  241. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/name.mjs +0 -0
  242. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/output/index.mjs +0 -0
  243. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/package-version.mjs +0 -0
  244. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/packs/manage.mjs +0 -0
  245. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/packs.mjs +0 -0
  246. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/plan/index.mjs +0 -0
  247. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/plan/template.mjs +0 -0
  248. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/plugins.mjs +0 -0
  249. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/baselines.mjs +0 -0
  250. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/conflicts.mjs +0 -0
  251. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/disclosure.mjs +0 -0
  252. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/loaders.mjs +0 -0
  253. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/lock.mjs +0 -0
  254. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/manifest.mjs +0 -0
  255. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/markers.mjs +0 -0
  256. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/mdc.mjs +0 -0
  257. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/project.mjs +0 -0
  258. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/rules.mjs +0 -0
  259. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/shared.mjs +0 -0
  260. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/surfaces.mjs +0 -0
  261. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/projection/targets.mjs +0 -0
  262. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/resolve/body.mjs +0 -0
  263. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/resolve/eval.mjs +0 -0
  264. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/resolve/fingerprint.mjs +0 -0
  265. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/resolve/near.mjs +0 -0
  266. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/resolve/resolve.mjs +0 -0
  267. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/resolve/source.mjs +0 -0
  268. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/review/critic.mjs +0 -0
  269. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/toolchain.mjs +0 -0
  270. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/toolwords.mjs +0 -0
  271. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/tsconfig.mjs +0 -0
  272. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/upgrade/plan.mjs +0 -0
  273. {simt_dev-0.6.0 → simt_dev-0.6.2}/src/workspace.mjs +0 -0
  274. {simt_dev-0.6.0 → simt_dev-0.6.2}/templates/plan/tracker.json +0 -0
@@ -6,6 +6,30 @@ All notable changes to this package are recorded here. The format follows
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.6.2] — 2026-10-27
10
+
11
+ ### Fixed
12
+
13
+ The v0.6.1 tag run failed its own tests step: two decision-corpus lists in
14
+ `test/rules.test.mjs` were not moved with ADR-099 (the partial-supersession
15
+ shapes and the leaking-paths count, both designed to move with the corpus).
16
+ Same product as v0.6.1; this tag exists so the release automation is proven by
17
+ a green run rather than described by a red one.
18
+
19
+ ## [0.6.1] — 2026-10-27
20
+
21
+ ### Fixed
22
+
23
+ The release automation, which the v0.6.0 tag proved broken in two places. The
24
+ tag workflow compared CI-built binaries against locally-built committed
25
+ checksums, but the build is deterministic per host family, not across them —
26
+ the check could never pass, and darwin binaries cannot be finished on ubuntu
27
+ runners for lack of `codesign` anyway. Each target now builds on its native
28
+ runner, the release verifies the served bytes equal the built bytes, and a
29
+ `sync-formula` job re-renders the committed formula from the served bytes
30
+ (ADR-099). The formula description no longer starts with an article, which is
31
+ what failed the Homebrew channel's `brew style` on v0.6.0. No product change.
32
+
9
33
  ## [0.6.0] — 2026-10-27
10
34
 
11
35
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: simt-dev
3
- Version: 0.6.0
3
+ Version: 0.6.2
4
4
  Summary: An intelligence amplifier for AI coding agents: rules and dual gates adopted by one command, plus local retrieval, task briefs, benches and repo memory — deterministic by default, with local-model adapters that propose and never select.
5
5
  Project-URL: Homepage, https://github.com/QuazarMedia/simt-dev
6
6
  Project-URL: Repository, https://github.com/QuazarMedia/simt-dev
@@ -5,7 +5,7 @@ simt-supersedes: [{ adr: "ADR-058", ruling: 5 }, { adr: "ADR-058", ruling: 7, ki
5
5
 
6
6
  # ADR-098 — The fourth channel is one file, and it needs no toolchain
7
7
 
8
- Status: **accepted** · 2026-10-26 · supersedes ADR-058 ruling 5 · narrows ADR-058 ruling 7 and ADR-097 ruling 3 · supersedes ADR-059 ruling 3
8
+ Status: **accepted** · 2026-10-26 · supersedes ADR-058 ruling 5 · narrows ADR-058 ruling 7 and ADR-097 ruling 3 · supersedes ADR-059 ruling 3 · ruling 3's cross-host byte-identicality narrowed by [ADR-099](ADR-099-the-release-verifies-served-bytes-and-the-formula-mirrors-them.md)
9
9
 
10
10
  Affects: `scripts/build-sea.mjs`, `src/distribute/release.mjs`, `src/locate.mjs`,
11
11
  `src/hooks/shim.mjs`, `src/ci/workflow.mjs`, `.github/workflows/publish.yml`,
@@ -0,0 +1,79 @@
1
+ ---
2
+ simt-affects: [".github/workflows/publish.yml", "scripts/build-sea.mjs", "scripts/verify-release-asset.mjs", "Formula/simt-dev.rb"]
3
+ simt-supersedes: [{ adr: "ADR-098", ruling: 3, kind: "narrowed" }]
4
+ ---
5
+
6
+ # ADR-099 — the release verifies served bytes, and the formula mirrors them
7
+
8
+ Status: **accepted** · 2026-10-27 · narrows ADR-098 ruling 3
9
+
10
+ Affects: `.github/workflows/publish.yml`, `scripts/build-sea.mjs`,
11
+ `scripts/verify-release-asset.mjs`, `Formula/simt-dev.rb`
12
+
13
+ ## Context
14
+
15
+ ADR-098 ruling 3 made determinism the release contract in its strongest form: the
16
+ same tree builds byte-identical assets on any host, so the tag workflow rebuilds
17
+ each asset and fails when its checksum is not the one `Formula/simt-dev.rb` in the
18
+ tagged tree promises. The v0.6.0 tag proved the strong form false. The CI-built
19
+ `linux-x64` asset hashed to `809dcda7…` while the same tree built on a darwin host
20
+ hashed to `b55bffc2…` — and the local rebuild is reproducible, so the difference is
21
+ the host, not the tree. The SEA blob is generated by a node running on the build
22
+ host, and a darwin-generated blob and a linux-generated blob of the same tree
23
+ differ. A check comparing CI bytes against locally-built committed checksums can
24
+ therefore never pass, and keeping it means every release fails at tag time for a
25
+ reason no tree change can fix.
26
+
27
+ The same run surfaced the second defect in the arrangement: all three targets built
28
+ on `ubuntu-latest`, but darwin binaries are finished with `codesign`, which exists
29
+ only on macOS. The darwin jobs never ran anywhere before v0.6.0 — v0.5.0 predates
30
+ the binary channel — so the runner assignment was never exercised either.
31
+
32
+ ## Ruling
33
+
34
+ 1. **Each target builds on its native runner.** `darwin-arm64` and `darwin-x64` on
35
+ `macos-14`, `linux-x64` on `ubuntu-latest`, with `fail-fast: false` so one
36
+ target's failure no longer cancels the others. Determinism is per host family —
37
+ the same tree rebuilt on the same OS family hashes identically — and the matrix
38
+ is what makes that claim checkable instead of aspirational.
39
+
40
+ 2. **The release checks upload integrity, not cross-host equality.** After uploading
41
+ each asset, the workflow downloads what GitHub serves for it
42
+ (`scripts/verify-release-asset.mjs`) and fails when the served sha256 is not the
43
+ one the build just wrote. A torn or clobbered upload graduates into a release
44
+ nobody can detect any other way; the tap installing bytes whose checksum refuses
45
+ them is exactly that failure arriving on somebody else's machine.
46
+
47
+ 3. **The committed formula is a mirror, refreshed after the release moves it — never
48
+ a prediction.** A `sync-formula` job renders `Formula/simt-dev.rb` from the
49
+ served bytes with `scripts/release-formula.mjs` and commits it to `main` when it
50
+ changed. A re-run that finds the mirror current exits quietly, and a formula
51
+ that already names a newer version is left alone, so an older tag can never
52
+ rewrite a newer mirror. The tap push (`publish-channels.yml`) already renders
53
+ from served bytes, so it was correct by construction throughout; this closes the
54
+ loop for the in-repo copy.
55
+
56
+ ## Consequences
57
+
58
+ - **The v0.6.0 equality check is gone, and its premise with it.** Nothing in the
59
+ release compares bytes built on different hosts. The `build-sea.mjs` header no
60
+ longer claims cross-host byte-identicality.
61
+ - **The formula in a tagged tree is the previous release's mirror, and that is
62
+ stated rather than hidden.** Between the tag and `sync-formula`'s commit it names
63
+ the served bytes of the last release, which is what makes it a mirror and not a
64
+ promise.
65
+ - **`verify-release-asset.mjs` is runnable by hand.** It takes `--version` and
66
+ `--target` and answers whether the release serves what a build of this tree
67
+ wrote — the same question the workflow asks, askable from any checkout.
68
+
69
+ ## Rejected
70
+
71
+ - **Generating one blob on one host and sharing it across targets.** It would make
72
+ the three assets share a blob while their node bases still differ per target, so
73
+ cross-host equality would still fail at the base — the part this repository does
74
+ not build. Sharing would add artifact plumbing to preserve a comparison the
75
+ release no longer makes.
76
+ - **Committing the formula from the tag before the assets exist.** That restores the
77
+ prediction in a new place: the committed checksums would again be bytes no
78
+ download has served, and the first thing that reads them (the tap) would read a
79
+ promise instead of a record.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simt-dev",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "An intelligence amplifier for AI coding agents: rules and dual gates adopted by one command, plus local retrieval, task briefs, benches and repo memory — deterministic by default, with local-model adapters that propose and never select.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Said Elimam",
@@ -128,13 +128,15 @@ function header(own) {
128
128
  * is the release a reader recognises, and Dependabot's `github-actions` ecosystem
129
129
  * rewrites the pair together - which is why the pin needs no maintenance here.
130
130
  *
131
- * The major version is deliberately the one the templates already used rather than the
132
- * newest available. `checkout` v7 and `setup-node` v7 both carry breaking changes, and
133
- * a gate whose behaviour changes because somebody re-ran an updater is precisely what
134
- * pinning exists to prevent. Moving a major is one reviewed line in this table.
131
+ * The major version moves by review, not by updater. `checkout` stayed on v4 while v7
132
+ * carried breaking changes a gate should not absorb by re-running Dependabot; it moved
133
+ * to v7.0.1 when the v7 line had run green in this repository's own workflows (the
134
+ * checkout steps of the v7 Dependabot run all succeeded — only the template-drift
135
+ * tests failed, which is the pin doing its job). `setup-node` stays on v4: no run has
136
+ * yet proven a newer major here, and moving it is the same one reviewed line.
135
137
  */
136
138
  export const ACTIONS = {
137
- checkout: { repo: 'actions/checkout', commit: '11d5960a326750d5838078e36cf38b85af677262', release: 'v4.4.0' },
139
+ checkout: { repo: 'actions/checkout', commit: '3d3c42e5aac5ba805825da76410c181273ba90b1', release: 'v7.0.1' },
138
140
  setupNode: { repo: 'actions/setup-node', commit: '49933ea5288caeca8642d1e84afbd3f7d6820020', release: 'v4.4.0' },
139
141
  };
140
142
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes