context-rail 3.0.2__tar.gz → 3.0.4__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 (186) hide show
  1. context_rail-3.0.4/LICENSE +21 -0
  2. {context_rail-3.0.2/src/context_rail.egg-info → context_rail-3.0.4}/PKG-INFO +66 -31
  3. context_rail-3.0.2/PKG-INFO → context_rail-3.0.4/README.md +51 -43
  4. {context_rail-3.0.2 → context_rail-3.0.4}/pyproject.toml +16 -1
  5. context_rail-3.0.2/README.md → context_rail-3.0.4/src/context_rail.egg-info/PKG-INFO +78 -30
  6. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail.egg-info/SOURCES.txt +1 -0
  7. {context_rail-3.0.2 → context_rail-3.0.4}/setup.cfg +0 -0
  8. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/__init__.py +0 -0
  9. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/__main__.py +0 -0
  10. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/cli.py +0 -0
  11. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/context/__init__.py +0 -0
  12. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/context/recipes.py +0 -0
  13. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/core/__init__.py +0 -0
  14. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/core/defaults.py +0 -0
  15. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/core/result.py +0 -0
  16. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/core/util.py +0 -0
  17. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/doctor/__init__.py +0 -0
  18. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/doctor/checks.py +0 -0
  19. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/doctor/gitconfig.py +0 -0
  20. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/doctor/stage2.py +0 -0
  21. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/__init__.py +0 -0
  22. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/confirmation.py +0 -0
  23. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/execution.py +0 -0
  24. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/gateway.py +0 -0
  25. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/__init__.py +0 -0
  26. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/adapters.py +0 -0
  27. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/checks.py +0 -0
  28. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/common.py +0 -0
  29. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/cto.py +0 -0
  30. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/__init__.py +0 -0
  31. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/budget.py +0 -0
  32. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/checkpoint.py +0 -0
  33. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/closeout.py +0 -0
  34. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/common.py +0 -0
  35. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/conflict.py +0 -0
  36. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/implementer.py +0 -0
  37. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/merge.py +0 -0
  38. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/records.py +0 -0
  39. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/review.py +0 -0
  40. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/review_order.py +0 -0
  41. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/dispatch/review_records.py +0 -0
  42. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/docs.py +0 -0
  43. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/doctor.py +0 -0
  44. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/init.py +0 -0
  45. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/maintenance.py +0 -0
  46. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/mcp.py +0 -0
  47. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/measure.py +0 -0
  48. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/migrate.py +0 -0
  49. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/onboarding.py +0 -0
  50. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/packs.py +0 -0
  51. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/reports.py +0 -0
  52. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/reshape.py +0 -0
  53. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/sync.py +0 -0
  54. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/ui.py +0 -0
  55. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/versions.py +0 -0
  56. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/handlers/views.py +0 -0
  57. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/mcp_schema.py +0 -0
  58. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/mcp_server.py +0 -0
  59. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/gateway/tools.py +0 -0
  60. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/__init__.py +0 -0
  61. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/budgets.py +0 -0
  62. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/gates.py +0 -0
  63. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/lifecycle.py +0 -0
  64. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/measurement.py +0 -0
  65. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/merge.py +0 -0
  66. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/packs.py +0 -0
  67. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/rights.py +0 -0
  68. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/structure.py +0 -0
  69. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/timestamps.py +0 -0
  70. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/kernel/triage.py +0 -0
  71. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/__init__.py +0 -0
  72. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/cache.py +0 -0
  73. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/cto.py +0 -0
  74. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/errors.py +0 -0
  75. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/fields.py +0 -0
  76. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/manifest.py +0 -0
  77. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/pack.py +0 -0
  78. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/policy.py +0 -0
  79. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/model/primitives.py +0 -0
  80. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/pack.yaml +0 -0
  81. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/profiles/cto.md +0 -0
  82. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/profiles/implementer.md +0 -0
  83. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/profiles/reviewer.md +0 -0
  84. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/skills/review-checklist/SKILL.md +0 -0
  85. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/skills/test-first/SKILL.md +0 -0
  86. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/actor.md +0 -0
  87. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/charter.md +0 -0
  88. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/check.md +0 -0
  89. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/goal.md +0 -0
  90. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/item.md +0 -0
  91. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/note.md +0 -0
  92. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/policy.md +0 -0
  93. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/record.md +0 -0
  94. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/scope.md +0 -0
  95. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/vision.md +0 -0
  96. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/wont.md +0 -0
  97. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/basic/templates/work-order.md +0 -0
  98. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/pack.yaml +0 -0
  99. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/profiles/cto.md +0 -0
  100. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/profiles/implementer.md +0 -0
  101. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/profiles/reviewer.md +0 -0
  102. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/skills/review-checklist/SKILL.md +0 -0
  103. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/skills/test-first/SKILL.md +0 -0
  104. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/actor.md +0 -0
  105. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/charter.md +0 -0
  106. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/check.md +0 -0
  107. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/goal.md +0 -0
  108. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/item.md +0 -0
  109. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/note.md +0 -0
  110. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/policy.md +0 -0
  111. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/record.md +0 -0
  112. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/scope.md +0 -0
  113. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/vision.md +0 -0
  114. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/wont.md +0 -0
  115. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/flow/templates/work-order.md +0 -0
  116. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/pack.yaml +0 -0
  117. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/profiles/cto.md +0 -0
  118. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/profiles/implementer.md +0 -0
  119. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/profiles/reviewer.md +0 -0
  120. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/skills/review-checklist/SKILL.md +0 -0
  121. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/skills/test-first/SKILL.md +0 -0
  122. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/actor.md +0 -0
  123. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/charter.md +0 -0
  124. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/check.md +0 -0
  125. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/goal.md +0 -0
  126. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/item.md +0 -0
  127. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/note.md +0 -0
  128. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/policy.md +0 -0
  129. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/record.md +0 -0
  130. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/scope.md +0 -0
  131. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/vision.md +0 -0
  132. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/wont.md +0 -0
  133. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/scrum/templates/work-order.md +0 -0
  134. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/pack.yaml +0 -0
  135. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/profiles/cto.md +0 -0
  136. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/profiles/implementer.md +0 -0
  137. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/profiles/reviewer.md +0 -0
  138. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/skills/review-checklist/SKILL.md +0 -0
  139. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/skills/test-first/SKILL.md +0 -0
  140. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/actor.md +0 -0
  141. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/charter.md +0 -0
  142. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/check.md +0 -0
  143. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/goal.md +0 -0
  144. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/item.md +0 -0
  145. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/note.md +0 -0
  146. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/policy.md +0 -0
  147. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/record.md +0 -0
  148. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/scope.md +0 -0
  149. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/vision.md +0 -0
  150. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/wont.md +0 -0
  151. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/packs/waterfall/templates/work-order.md +0 -0
  152. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/__init__.py +0 -0
  153. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/body_merge.py +0 -0
  154. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/control.py +0 -0
  155. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/dispatch.py +0 -0
  156. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/droid.py +0 -0
  157. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/git.py +0 -0
  158. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/git_sync.py +0 -0
  159. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/merge.py +0 -0
  160. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/runner/run.py +0 -0
  161. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/__init__.py +0 -0
  162. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/adapters.py +0 -0
  163. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/approval.py +0 -0
  164. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/doc.py +0 -0
  165. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/frontmatter_edit.py +0 -0
  166. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/git_index.py +0 -0
  167. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/gitattributes.py +0 -0
  168. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/index.py +0 -0
  169. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/legacy.py +0 -0
  170. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/location.py +0 -0
  171. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/lock.py +0 -0
  172. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/measure.py +0 -0
  173. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/migration.py +0 -0
  174. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/packs.py +0 -0
  175. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/query.py +0 -0
  176. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/sync.py +0 -0
  177. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/versions.py +0 -0
  178. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/store/write.py +0 -0
  179. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/ui/__init__.py +0 -0
  180. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/ui/api.py +0 -0
  181. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/ui/page.py +0 -0
  182. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail/ui/server.py +0 -0
  183. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail.egg-info/dependency_links.txt +0 -0
  184. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail.egg-info/entry_points.txt +0 -0
  185. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail.egg-info/requires.txt +0 -0
  186. {context_rail-3.0.2 → context_rail-3.0.4}/src/context_rail.egg-info/top_level.txt +0 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Son Hoanh
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,15 +1,29 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: context-rail
3
- Version: 3.0.2
3
+ Version: 3.0.4
4
4
  Summary: An agentic project workspace: files are the truth, agents work through one write path
5
+ License-Expression: MIT
5
6
  Project-URL: Repository, https://github.com/nguyenhoanhson797/Context-Rail
7
+ Keywords: agents,context,project-management,markdown,sqlite,workflow,mcp,cli
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Software Development
6
18
  Requires-Python: >=3.11
7
19
  Description-Content-Type: text/markdown
20
+ License-File: LICENSE
8
21
  Requires-Dist: PyYAML>=6.0
9
22
  Requires-Dist: mcp<3,>=2.3.0
10
23
  Provides-Extra: test
11
24
  Requires-Dist: pytest>=8; extra == "test"
12
25
  Requires-Dist: pytest-timeout>=2.3; extra == "test"
26
+ Dynamic: license-file
13
27
 
14
28
  # Context Rail v3
15
29
 
@@ -30,19 +44,28 @@ the package ships the CLI, the MCP server and a loopback UI over one tool table.
30
44
 
31
45
  ## Install
32
46
 
33
- ```powershell
34
- py -m pip install context-rail
47
+ ```bash
48
+ python -m pip install context-rail
35
49
  ```
36
50
 
37
- On macOS or Linux use `python` instead of `py`. This installs two equivalent
38
- entry points, `rail` and `ctx-rail`; every example below also works as
39
- `py -m context_rail`.
51
+ On Windows use `py` instead of `python` (`py -m pip install context-rail`); that
52
+ is the only difference, every command below works the same in both shells.
53
+ This installs two equivalent entry points, `rail` and `ctx-rail`; every example
54
+ below also works as `python -m context_rail`.
55
+
56
+ `python -m pip` installs into the interpreter that will run the tool. Bare
57
+ `pip install context-rail` is the same command whenever `pip` on your `PATH`
58
+ belongs to that interpreter; on a machine with several Pythons, the module form
59
+ is the one that cannot pick the wrong one.
60
+
61
+ To keep the tool out of your project environments, `pipx install context-rail`
62
+ works too.
40
63
 
41
64
  ## Quick start
42
65
 
43
66
  From the project you want to manage:
44
67
 
45
- ```powershell
68
+ ```bash
46
69
  rail init --pack basic # writes ./context-rail/
47
70
  rail add goal "Ship v3"
48
71
  rail add task "Write the first task" --rel part_of=ship-v3
@@ -67,7 +90,7 @@ Notes that are easy to trip over:
67
90
  `rail init --pack basic` writes only the skeleton (`rail.yaml`, `.gitignore`,
68
91
  empty folders). For a picture, the profiles and the agent files:
69
92
 
70
- ```powershell
93
+ ```bash
71
94
  rail init --interview # or --answers-file FILE --confirm "APPROVE charter"
72
95
  rail approve charter --confirm "APPROVE charter" --confirmer "Ada"
73
96
  rail adapters sync # AGENTS.md + .agents/skills/
@@ -84,7 +107,7 @@ rail sync --install # optional: git merge dr
84
107
 
85
108
  Useful read commands:
86
109
 
87
- ```powershell
110
+ ```bash
88
111
  rail status # counts, executable items, blockers, stuck items
89
112
  rail digest # activity, waits, decisions, quality, usage
90
113
  rail cto brief # the bounded brief a CTO session starts from
@@ -96,19 +119,23 @@ rail ci # doctor issues plus the approval and done gates
96
119
 
97
120
  ## Skills
98
121
 
99
- Four operator skills under `skills/` teach an agent the rail itself, so it does
100
- not have to read the engine to answer "what can this do?" or "how do we change
101
- the workflow?":
122
+ Four operator skills under `skills/` in the repository checkout teach an agent
123
+ the rail itself, so it does not have to read the engine to answer "what can this
124
+ do?" or "how do we change the workflow?":
102
125
 
103
126
  - `context-rail-v3` — mental model, quick start, command map
104
127
  - `context-rail-v3-workflows` — packs, statuses, transitions, BA/PO steps
105
128
  - `context-rail-v3-loop` — dispatch → verify → review → merge, refusals
106
129
  - `context-rail-v3-ops` — doctor, reindex, recovery, budgets, test lanes
107
130
 
108
- Install them into your agent's skill directory:
131
+ Install them into your agent's skill directory from a checkout:
132
+
133
+ ```bash
134
+ cp -r skills/context-rail-v3* ~/.agents/skills/ # macOS, Linux
135
+ ```
109
136
 
110
137
  ```powershell
111
- Copy-Item -Recurse skills\context-rail-v3* "$HOME\.agents\skills\"
138
+ Copy-Item -Recurse skills\context-rail-v3* "$HOME\.agents\skills\" # Windows
112
139
  ```
113
140
 
114
141
  See `skills/README.md` for the difference from the pack skills that are
@@ -120,13 +147,13 @@ Work that launches an agent, or changes the picture's meaning, is gated. The
120
147
  brief reports the current state; nothing executes until a human approves the
121
148
  charter:
122
149
 
123
- ```powershell
150
+ ```bash
124
151
  rail approve charter --confirm "APPROVE charter" --confirmer "Ada"
125
152
  ```
126
153
 
127
154
  Once the charter is approved, the loop uses isolated git worktrees:
128
155
 
129
- ```powershell
156
+ ```bash
130
157
  rail dispatch <item> --expect <etag> --key <idempotency-key>
131
158
  rail review <item> --run <run-id> --key <idempotency-key>
132
159
  rail merge <item> --run <run-id> --expect <etag> --key <idempotency-key>
@@ -168,20 +195,20 @@ are all generated from one tool table (`src/context_rail/gateway/tools.py`).
168
195
 
169
196
  From a checkout, install it in editable mode with the test dependencies:
170
197
 
171
- ```powershell
172
- py -m pip install -e .[test]
198
+ ```bash
199
+ python -m pip install -e .[test]
173
200
  ```
174
201
 
175
- Then run one lane at a time:
202
+ Then run one lane at a time (on Windows use `py -m pytest`):
176
203
 
177
- ```powershell
178
- py -m pytest -q -m "not slow and not perf" # functional lane
179
- py -m pytest -q -m "perf and not slow" -p no:xdist # speed budgets, serial
180
- py -m pytest -q -m slow -p no:xdist # 10k-document stores
204
+ ```bash
205
+ python -m pytest -q -m "not slow and not perf" # functional lane
206
+ python -m pytest -q -m "perf and not slow" -p no:xdist # speed budgets, serial
207
+ python -m pytest -q -m slow -p no:xdist # 10k-document stores
181
208
  ```
182
209
 
183
210
  The speed budgets are fixed: a change that needs more time is a bug in the
184
- change, never a reason to raise the budget. `py -m pytest -q` on its own also
211
+ change, never a reason to raise the budget. A bare `pytest -q` on its own also
185
212
  collects the perf tests, so use the lanes above when the machine is busy.
186
213
 
187
214
  ## Layout
@@ -203,13 +230,16 @@ src/context_rail/
203
230
 
204
231
  ## Design
205
232
 
206
- - Visual guide (diagrams and from-zero-to-daily walkthrough):
207
- `docs/context-rail-v3-guide.html`
208
- - Interactive engine graph (primitives, relations, one write path and the agent loop):
209
- `docs/context-rail-v3-engine-graph.html`
210
- - Spec: `docs/superpowers/specs/2026-10-28-context-rail-v3-design.md`
211
- - Architecture: `library/arch-stage-3.md`
212
- - Working rules and engine invariants: `AGENTS.md`
233
+ - Visual guide (diagrams and a from-zero-to-daily walkthrough):
234
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/docs/context-rail-v3-guide.html>
235
+ - Interactive engine graph (primitives, relations, one write path and the agent
236
+ loop):
237
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/docs/context-rail-v3-engine-graph.html>
238
+ - Working rules and engine invariants:
239
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/AGENTS.md>
240
+
241
+ The design spec, the stage plans and the architecture records are working
242
+ material and stay out of the published repository.
213
243
 
214
244
  Engine invariants worth knowing before changing code:
215
245
 
@@ -218,3 +248,8 @@ Engine invariants worth knowing before changing code:
218
248
  - `context_rail.kernel` is pure: no file, git, process or index access.
219
249
  - Unknown manifest schema, pack version, key or policy field is refused, never
220
250
  guessed.
251
+
252
+ ## License
253
+
254
+ MIT. See the `LICENSE` file, or
255
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/LICENSE>.
@@ -1,16 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: context-rail
3
- Version: 3.0.2
4
- Summary: An agentic project workspace: files are the truth, agents work through one write path
5
- Project-URL: Repository, https://github.com/nguyenhoanhson797/Context-Rail
6
- Requires-Python: >=3.11
7
- Description-Content-Type: text/markdown
8
- Requires-Dist: PyYAML>=6.0
9
- Requires-Dist: mcp<3,>=2.3.0
10
- Provides-Extra: test
11
- Requires-Dist: pytest>=8; extra == "test"
12
- Requires-Dist: pytest-timeout>=2.3; extra == "test"
13
-
14
1
  # Context Rail v3
15
2
 
16
3
  An agentic project workspace: the files are the truth, a rebuildable SQLite
@@ -30,19 +17,28 @@ the package ships the CLI, the MCP server and a loopback UI over one tool table.
30
17
 
31
18
  ## Install
32
19
 
33
- ```powershell
34
- py -m pip install context-rail
20
+ ```bash
21
+ python -m pip install context-rail
35
22
  ```
36
23
 
37
- On macOS or Linux use `python` instead of `py`. This installs two equivalent
38
- entry points, `rail` and `ctx-rail`; every example below also works as
39
- `py -m context_rail`.
24
+ On Windows use `py` instead of `python` (`py -m pip install context-rail`); that
25
+ is the only difference, every command below works the same in both shells.
26
+ This installs two equivalent entry points, `rail` and `ctx-rail`; every example
27
+ below also works as `python -m context_rail`.
28
+
29
+ `python -m pip` installs into the interpreter that will run the tool. Bare
30
+ `pip install context-rail` is the same command whenever `pip` on your `PATH`
31
+ belongs to that interpreter; on a machine with several Pythons, the module form
32
+ is the one that cannot pick the wrong one.
33
+
34
+ To keep the tool out of your project environments, `pipx install context-rail`
35
+ works too.
40
36
 
41
37
  ## Quick start
42
38
 
43
39
  From the project you want to manage:
44
40
 
45
- ```powershell
41
+ ```bash
46
42
  rail init --pack basic # writes ./context-rail/
47
43
  rail add goal "Ship v3"
48
44
  rail add task "Write the first task" --rel part_of=ship-v3
@@ -67,7 +63,7 @@ Notes that are easy to trip over:
67
63
  `rail init --pack basic` writes only the skeleton (`rail.yaml`, `.gitignore`,
68
64
  empty folders). For a picture, the profiles and the agent files:
69
65
 
70
- ```powershell
66
+ ```bash
71
67
  rail init --interview # or --answers-file FILE --confirm "APPROVE charter"
72
68
  rail approve charter --confirm "APPROVE charter" --confirmer "Ada"
73
69
  rail adapters sync # AGENTS.md + .agents/skills/
@@ -84,7 +80,7 @@ rail sync --install # optional: git merge dr
84
80
 
85
81
  Useful read commands:
86
82
 
87
- ```powershell
83
+ ```bash
88
84
  rail status # counts, executable items, blockers, stuck items
89
85
  rail digest # activity, waits, decisions, quality, usage
90
86
  rail cto brief # the bounded brief a CTO session starts from
@@ -96,19 +92,23 @@ rail ci # doctor issues plus the approval and done gates
96
92
 
97
93
  ## Skills
98
94
 
99
- Four operator skills under `skills/` teach an agent the rail itself, so it does
100
- not have to read the engine to answer "what can this do?" or "how do we change
101
- the workflow?":
95
+ Four operator skills under `skills/` in the repository checkout teach an agent
96
+ the rail itself, so it does not have to read the engine to answer "what can this
97
+ do?" or "how do we change the workflow?":
102
98
 
103
99
  - `context-rail-v3` — mental model, quick start, command map
104
100
  - `context-rail-v3-workflows` — packs, statuses, transitions, BA/PO steps
105
101
  - `context-rail-v3-loop` — dispatch → verify → review → merge, refusals
106
102
  - `context-rail-v3-ops` — doctor, reindex, recovery, budgets, test lanes
107
103
 
108
- Install them into your agent's skill directory:
104
+ Install them into your agent's skill directory from a checkout:
105
+
106
+ ```bash
107
+ cp -r skills/context-rail-v3* ~/.agents/skills/ # macOS, Linux
108
+ ```
109
109
 
110
110
  ```powershell
111
- Copy-Item -Recurse skills\context-rail-v3* "$HOME\.agents\skills\"
111
+ Copy-Item -Recurse skills\context-rail-v3* "$HOME\.agents\skills\" # Windows
112
112
  ```
113
113
 
114
114
  See `skills/README.md` for the difference from the pack skills that are
@@ -120,13 +120,13 @@ Work that launches an agent, or changes the picture's meaning, is gated. The
120
120
  brief reports the current state; nothing executes until a human approves the
121
121
  charter:
122
122
 
123
- ```powershell
123
+ ```bash
124
124
  rail approve charter --confirm "APPROVE charter" --confirmer "Ada"
125
125
  ```
126
126
 
127
127
  Once the charter is approved, the loop uses isolated git worktrees:
128
128
 
129
- ```powershell
129
+ ```bash
130
130
  rail dispatch <item> --expect <etag> --key <idempotency-key>
131
131
  rail review <item> --run <run-id> --key <idempotency-key>
132
132
  rail merge <item> --run <run-id> --expect <etag> --key <idempotency-key>
@@ -168,20 +168,20 @@ are all generated from one tool table (`src/context_rail/gateway/tools.py`).
168
168
 
169
169
  From a checkout, install it in editable mode with the test dependencies:
170
170
 
171
- ```powershell
172
- py -m pip install -e .[test]
171
+ ```bash
172
+ python -m pip install -e .[test]
173
173
  ```
174
174
 
175
- Then run one lane at a time:
175
+ Then run one lane at a time (on Windows use `py -m pytest`):
176
176
 
177
- ```powershell
178
- py -m pytest -q -m "not slow and not perf" # functional lane
179
- py -m pytest -q -m "perf and not slow" -p no:xdist # speed budgets, serial
180
- py -m pytest -q -m slow -p no:xdist # 10k-document stores
177
+ ```bash
178
+ python -m pytest -q -m "not slow and not perf" # functional lane
179
+ python -m pytest -q -m "perf and not slow" -p no:xdist # speed budgets, serial
180
+ python -m pytest -q -m slow -p no:xdist # 10k-document stores
181
181
  ```
182
182
 
183
183
  The speed budgets are fixed: a change that needs more time is a bug in the
184
- change, never a reason to raise the budget. `py -m pytest -q` on its own also
184
+ change, never a reason to raise the budget. A bare `pytest -q` on its own also
185
185
  collects the perf tests, so use the lanes above when the machine is busy.
186
186
 
187
187
  ## Layout
@@ -203,13 +203,16 @@ src/context_rail/
203
203
 
204
204
  ## Design
205
205
 
206
- - Visual guide (diagrams and from-zero-to-daily walkthrough):
207
- `docs/context-rail-v3-guide.html`
208
- - Interactive engine graph (primitives, relations, one write path and the agent loop):
209
- `docs/context-rail-v3-engine-graph.html`
210
- - Spec: `docs/superpowers/specs/2026-10-28-context-rail-v3-design.md`
211
- - Architecture: `library/arch-stage-3.md`
212
- - Working rules and engine invariants: `AGENTS.md`
206
+ - Visual guide (diagrams and a from-zero-to-daily walkthrough):
207
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/docs/context-rail-v3-guide.html>
208
+ - Interactive engine graph (primitives, relations, one write path and the agent
209
+ loop):
210
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/docs/context-rail-v3-engine-graph.html>
211
+ - Working rules and engine invariants:
212
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/AGENTS.md>
213
+
214
+ The design spec, the stage plans and the architecture records are working
215
+ material and stay out of the published repository.
213
216
 
214
217
  Engine invariants worth knowing before changing code:
215
218
 
@@ -218,3 +221,8 @@ Engine invariants worth knowing before changing code:
218
221
  - `context_rail.kernel` is pure: no file, git, process or index access.
219
222
  - Unknown manifest schema, pack version, key or policy field is refused, never
220
223
  guessed.
224
+
225
+ ## License
226
+
227
+ MIT. See the `LICENSE` file, or
228
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/LICENSE>.
@@ -4,11 +4,26 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "context-rail"
7
- version = "3.0.2"
7
+ version = "3.0.4"
8
8
  description = "An agentic project workspace: files are the truth, agents work through one write path"
9
9
  readme = "README.md"
10
+ license = "MIT"
11
+ license-files = ["LICENSE"]
10
12
  requires-python = ">=3.11"
11
13
  dependencies = ["PyYAML>=6.0", "mcp>=2.3.0,<3"]
14
+ keywords = ["agents", "context", "project-management", "markdown", "sqlite", "workflow", "mcp", "cli"]
15
+ classifiers = [
16
+ "Development Status :: 4 - Beta",
17
+ "Environment :: Console",
18
+ "Intended Audience :: Developers",
19
+ "Operating System :: OS Independent",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3 :: Only",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Topic :: Software Development",
26
+ ]
12
27
 
13
28
  [project.optional-dependencies]
14
29
  test = ["pytest>=8", "pytest-timeout>=2.3"]
@@ -1,3 +1,30 @@
1
+ Metadata-Version: 2.4
2
+ Name: context-rail
3
+ Version: 3.0.4
4
+ Summary: An agentic project workspace: files are the truth, agents work through one write path
5
+ License-Expression: MIT
6
+ Project-URL: Repository, https://github.com/nguyenhoanhson797/Context-Rail
7
+ Keywords: agents,context,project-management,markdown,sqlite,workflow,mcp,cli
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Software Development
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: PyYAML>=6.0
22
+ Requires-Dist: mcp<3,>=2.3.0
23
+ Provides-Extra: test
24
+ Requires-Dist: pytest>=8; extra == "test"
25
+ Requires-Dist: pytest-timeout>=2.3; extra == "test"
26
+ Dynamic: license-file
27
+
1
28
  # Context Rail v3
2
29
 
3
30
  An agentic project workspace: the files are the truth, a rebuildable SQLite
@@ -17,19 +44,28 @@ the package ships the CLI, the MCP server and a loopback UI over one tool table.
17
44
 
18
45
  ## Install
19
46
 
20
- ```powershell
21
- py -m pip install context-rail
47
+ ```bash
48
+ python -m pip install context-rail
22
49
  ```
23
50
 
24
- On macOS or Linux use `python` instead of `py`. This installs two equivalent
25
- entry points, `rail` and `ctx-rail`; every example below also works as
26
- `py -m context_rail`.
51
+ On Windows use `py` instead of `python` (`py -m pip install context-rail`); that
52
+ is the only difference, every command below works the same in both shells.
53
+ This installs two equivalent entry points, `rail` and `ctx-rail`; every example
54
+ below also works as `python -m context_rail`.
55
+
56
+ `python -m pip` installs into the interpreter that will run the tool. Bare
57
+ `pip install context-rail` is the same command whenever `pip` on your `PATH`
58
+ belongs to that interpreter; on a machine with several Pythons, the module form
59
+ is the one that cannot pick the wrong one.
60
+
61
+ To keep the tool out of your project environments, `pipx install context-rail`
62
+ works too.
27
63
 
28
64
  ## Quick start
29
65
 
30
66
  From the project you want to manage:
31
67
 
32
- ```powershell
68
+ ```bash
33
69
  rail init --pack basic # writes ./context-rail/
34
70
  rail add goal "Ship v3"
35
71
  rail add task "Write the first task" --rel part_of=ship-v3
@@ -54,7 +90,7 @@ Notes that are easy to trip over:
54
90
  `rail init --pack basic` writes only the skeleton (`rail.yaml`, `.gitignore`,
55
91
  empty folders). For a picture, the profiles and the agent files:
56
92
 
57
- ```powershell
93
+ ```bash
58
94
  rail init --interview # or --answers-file FILE --confirm "APPROVE charter"
59
95
  rail approve charter --confirm "APPROVE charter" --confirmer "Ada"
60
96
  rail adapters sync # AGENTS.md + .agents/skills/
@@ -71,7 +107,7 @@ rail sync --install # optional: git merge dr
71
107
 
72
108
  Useful read commands:
73
109
 
74
- ```powershell
110
+ ```bash
75
111
  rail status # counts, executable items, blockers, stuck items
76
112
  rail digest # activity, waits, decisions, quality, usage
77
113
  rail cto brief # the bounded brief a CTO session starts from
@@ -83,19 +119,23 @@ rail ci # doctor issues plus the approval and done gates
83
119
 
84
120
  ## Skills
85
121
 
86
- Four operator skills under `skills/` teach an agent the rail itself, so it does
87
- not have to read the engine to answer "what can this do?" or "how do we change
88
- the workflow?":
122
+ Four operator skills under `skills/` in the repository checkout teach an agent
123
+ the rail itself, so it does not have to read the engine to answer "what can this
124
+ do?" or "how do we change the workflow?":
89
125
 
90
126
  - `context-rail-v3` — mental model, quick start, command map
91
127
  - `context-rail-v3-workflows` — packs, statuses, transitions, BA/PO steps
92
128
  - `context-rail-v3-loop` — dispatch → verify → review → merge, refusals
93
129
  - `context-rail-v3-ops` — doctor, reindex, recovery, budgets, test lanes
94
130
 
95
- Install them into your agent's skill directory:
131
+ Install them into your agent's skill directory from a checkout:
132
+
133
+ ```bash
134
+ cp -r skills/context-rail-v3* ~/.agents/skills/ # macOS, Linux
135
+ ```
96
136
 
97
137
  ```powershell
98
- Copy-Item -Recurse skills\context-rail-v3* "$HOME\.agents\skills\"
138
+ Copy-Item -Recurse skills\context-rail-v3* "$HOME\.agents\skills\" # Windows
99
139
  ```
100
140
 
101
141
  See `skills/README.md` for the difference from the pack skills that are
@@ -107,13 +147,13 @@ Work that launches an agent, or changes the picture's meaning, is gated. The
107
147
  brief reports the current state; nothing executes until a human approves the
108
148
  charter:
109
149
 
110
- ```powershell
150
+ ```bash
111
151
  rail approve charter --confirm "APPROVE charter" --confirmer "Ada"
112
152
  ```
113
153
 
114
154
  Once the charter is approved, the loop uses isolated git worktrees:
115
155
 
116
- ```powershell
156
+ ```bash
117
157
  rail dispatch <item> --expect <etag> --key <idempotency-key>
118
158
  rail review <item> --run <run-id> --key <idempotency-key>
119
159
  rail merge <item> --run <run-id> --expect <etag> --key <idempotency-key>
@@ -155,20 +195,20 @@ are all generated from one tool table (`src/context_rail/gateway/tools.py`).
155
195
 
156
196
  From a checkout, install it in editable mode with the test dependencies:
157
197
 
158
- ```powershell
159
- py -m pip install -e .[test]
198
+ ```bash
199
+ python -m pip install -e .[test]
160
200
  ```
161
201
 
162
- Then run one lane at a time:
202
+ Then run one lane at a time (on Windows use `py -m pytest`):
163
203
 
164
- ```powershell
165
- py -m pytest -q -m "not slow and not perf" # functional lane
166
- py -m pytest -q -m "perf and not slow" -p no:xdist # speed budgets, serial
167
- py -m pytest -q -m slow -p no:xdist # 10k-document stores
204
+ ```bash
205
+ python -m pytest -q -m "not slow and not perf" # functional lane
206
+ python -m pytest -q -m "perf and not slow" -p no:xdist # speed budgets, serial
207
+ python -m pytest -q -m slow -p no:xdist # 10k-document stores
168
208
  ```
169
209
 
170
210
  The speed budgets are fixed: a change that needs more time is a bug in the
171
- change, never a reason to raise the budget. `py -m pytest -q` on its own also
211
+ change, never a reason to raise the budget. A bare `pytest -q` on its own also
172
212
  collects the perf tests, so use the lanes above when the machine is busy.
173
213
 
174
214
  ## Layout
@@ -190,13 +230,16 @@ src/context_rail/
190
230
 
191
231
  ## Design
192
232
 
193
- - Visual guide (diagrams and from-zero-to-daily walkthrough):
194
- `docs/context-rail-v3-guide.html`
195
- - Interactive engine graph (primitives, relations, one write path and the agent loop):
196
- `docs/context-rail-v3-engine-graph.html`
197
- - Spec: `docs/superpowers/specs/2026-10-28-context-rail-v3-design.md`
198
- - Architecture: `library/arch-stage-3.md`
199
- - Working rules and engine invariants: `AGENTS.md`
233
+ - Visual guide (diagrams and a from-zero-to-daily walkthrough):
234
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/docs/context-rail-v3-guide.html>
235
+ - Interactive engine graph (primitives, relations, one write path and the agent
236
+ loop):
237
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/docs/context-rail-v3-engine-graph.html>
238
+ - Working rules and engine invariants:
239
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/AGENTS.md>
240
+
241
+ The design spec, the stage plans and the architecture records are working
242
+ material and stay out of the published repository.
200
243
 
201
244
  Engine invariants worth knowing before changing code:
202
245
 
@@ -205,3 +248,8 @@ Engine invariants worth knowing before changing code:
205
248
  - `context_rail.kernel` is pure: no file, git, process or index access.
206
249
  - Unknown manifest schema, pack version, key or policy field is refused, never
207
250
  guessed.
251
+
252
+ ## License
253
+
254
+ MIT. See the `LICENSE` file, or
255
+ <https://github.com/nguyenhoanhson797/Context-Rail/blob/master/LICENSE>.
@@ -1,3 +1,4 @@
1
+ LICENSE
1
2
  README.md
2
3
  pyproject.toml
3
4
  src/context_rail/__init__.py
File without changes