sarathi-sdlc 0.1.0__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 (127) hide show
  1. sarathi_sdlc-0.1.0/.gitignore +12 -0
  2. sarathi_sdlc-0.1.0/CHANGELOG.md +134 -0
  3. sarathi_sdlc-0.1.0/PKG-INFO +566 -0
  4. sarathi_sdlc-0.1.0/README.md +559 -0
  5. sarathi_sdlc-0.1.0/checkers/approvals.py +379 -0
  6. sarathi_sdlc-0.1.0/checkers/check_code.py +256 -0
  7. sarathi_sdlc-0.1.0/checkers/check_design.py +516 -0
  8. sarathi_sdlc-0.1.0/checkers/check_plan.py +635 -0
  9. sarathi_sdlc-0.1.0/checkers/check_spec.py +478 -0
  10. sarathi_sdlc-0.1.0/checkers/complexity.py +78 -0
  11. sarathi_sdlc-0.1.0/checkers/markdown_structure.py +35 -0
  12. sarathi_sdlc-0.1.0/checkers/render_workflow_status.py +2397 -0
  13. sarathi_sdlc-0.1.0/checkers/schemas.py +77 -0
  14. sarathi_sdlc-0.1.0/checkers/waves.py +202 -0
  15. sarathi_sdlc-0.1.0/docs/approval-gates.md +141 -0
  16. sarathi_sdlc-0.1.0/docs/artifact-contracts.md +199 -0
  17. sarathi_sdlc-0.1.0/docs/artifact-formatting.md +29 -0
  18. sarathi_sdlc-0.1.0/docs/assurance-profiles.md +90 -0
  19. sarathi_sdlc-0.1.0/docs/bootstrap-instructions.md +78 -0
  20. sarathi_sdlc-0.1.0/docs/cleanup-pass.md +64 -0
  21. sarathi_sdlc-0.1.0/docs/cross-cutting-concerns.md +20 -0
  22. sarathi_sdlc-0.1.0/docs/feedback-and-learning.md +123 -0
  23. sarathi_sdlc-0.1.0/docs/process-maintenance.md +91 -0
  24. sarathi_sdlc-0.1.0/docs/progressive-disclosure.md +105 -0
  25. sarathi_sdlc-0.1.0/docs/project-entry.md +156 -0
  26. sarathi_sdlc-0.1.0/docs/release-process.md +119 -0
  27. sarathi_sdlc-0.1.0/docs/review-verification-checklist.md +63 -0
  28. sarathi_sdlc-0.1.0/docs/sarathi.html +987 -0
  29. sarathi_sdlc-0.1.0/docs/simplicity-first.md +119 -0
  30. sarathi_sdlc-0.1.0/docs/simplify-pass.md +68 -0
  31. sarathi_sdlc-0.1.0/docs/slug-id-migration.md +89 -0
  32. sarathi_sdlc-0.1.0/docs/srs-authoring.md +161 -0
  33. sarathi_sdlc-0.1.0/docs/test-ownership.md +68 -0
  34. sarathi_sdlc-0.1.0/docs/work-decomposition.md +104 -0
  35. sarathi_sdlc-0.1.0/docs/work-in-progress.md +125 -0
  36. sarathi_sdlc-0.1.0/docs/workflow-status.md +230 -0
  37. sarathi_sdlc-0.1.0/prompts/code-assess.prompt.md +53 -0
  38. sarathi_sdlc-0.1.0/prompts/code-create.prompt.md +85 -0
  39. sarathi_sdlc-0.1.0/prompts/code-review.prompt.md +46 -0
  40. sarathi_sdlc-0.1.0/prompts/code-verify.prompt.md +72 -0
  41. sarathi_sdlc-0.1.0/prompts/design-assess.prompt.md +32 -0
  42. sarathi_sdlc-0.1.0/prompts/design-create.prompt.md +90 -0
  43. sarathi_sdlc-0.1.0/prompts/design-review.prompt.md +43 -0
  44. sarathi_sdlc-0.1.0/prompts/design-verify.prompt.md +90 -0
  45. sarathi_sdlc-0.1.0/prompts/plan-assess.prompt.md +40 -0
  46. sarathi_sdlc-0.1.0/prompts/plan-create.prompt.md +105 -0
  47. sarathi_sdlc-0.1.0/prompts/plan-review.prompt.md +42 -0
  48. sarathi_sdlc-0.1.0/prompts/plan-verify.prompt.md +99 -0
  49. sarathi_sdlc-0.1.0/prompts/spec-assess.prompt.md +32 -0
  50. sarathi_sdlc-0.1.0/prompts/spec-create.prompt.md +96 -0
  51. sarathi_sdlc-0.1.0/prompts/spec-review.prompt.md +39 -0
  52. sarathi_sdlc-0.1.0/prompts/spec-verify.prompt.md +85 -0
  53. sarathi_sdlc-0.1.0/prompts/workflow-status.prompt.md +41 -0
  54. sarathi_sdlc-0.1.0/pyproject.toml +71 -0
  55. sarathi_sdlc-0.1.0/scripts/check_update.py +16 -0
  56. sarathi_sdlc-0.1.0/scripts/install.ps1 +614 -0
  57. sarathi_sdlc-0.1.0/scripts/install.sh +617 -0
  58. sarathi_sdlc-0.1.0/scripts/pre-commit +22 -0
  59. sarathi_sdlc-0.1.0/scripts/verify_release.py +36 -0
  60. sarathi_sdlc-0.1.0/skills/sarathi/SKILL.md +154 -0
  61. sarathi_sdlc-0.1.0/skills/sarathi/agents/openai.yaml +4 -0
  62. sarathi_sdlc-0.1.0/skills/sarathi/checkers/approvals.py +379 -0
  63. sarathi_sdlc-0.1.0/skills/sarathi/checkers/check_code.py +256 -0
  64. sarathi_sdlc-0.1.0/skills/sarathi/checkers/check_design.py +516 -0
  65. sarathi_sdlc-0.1.0/skills/sarathi/checkers/check_plan.py +635 -0
  66. sarathi_sdlc-0.1.0/skills/sarathi/checkers/check_spec.py +478 -0
  67. sarathi_sdlc-0.1.0/skills/sarathi/checkers/complexity.py +78 -0
  68. sarathi_sdlc-0.1.0/skills/sarathi/checkers/markdown_structure.py +35 -0
  69. sarathi_sdlc-0.1.0/skills/sarathi/checkers/render_workflow_status.py +2397 -0
  70. sarathi_sdlc-0.1.0/skills/sarathi/checkers/schemas.py +77 -0
  71. sarathi_sdlc-0.1.0/skills/sarathi/checkers/waves.py +202 -0
  72. sarathi_sdlc-0.1.0/skills/sarathi/docs/approval-gates.md +141 -0
  73. sarathi_sdlc-0.1.0/skills/sarathi/docs/artifact-contracts.md +199 -0
  74. sarathi_sdlc-0.1.0/skills/sarathi/docs/artifact-formatting.md +29 -0
  75. sarathi_sdlc-0.1.0/skills/sarathi/docs/assurance-profiles.md +90 -0
  76. sarathi_sdlc-0.1.0/skills/sarathi/docs/bootstrap-instructions.md +78 -0
  77. sarathi_sdlc-0.1.0/skills/sarathi/docs/cleanup-pass.md +64 -0
  78. sarathi_sdlc-0.1.0/skills/sarathi/docs/cross-cutting-concerns.md +20 -0
  79. sarathi_sdlc-0.1.0/skills/sarathi/docs/feedback-and-learning.md +123 -0
  80. sarathi_sdlc-0.1.0/skills/sarathi/docs/process-maintenance.md +91 -0
  81. sarathi_sdlc-0.1.0/skills/sarathi/docs/progressive-disclosure.md +105 -0
  82. sarathi_sdlc-0.1.0/skills/sarathi/docs/project-entry.md +156 -0
  83. sarathi_sdlc-0.1.0/skills/sarathi/docs/release-process.md +119 -0
  84. sarathi_sdlc-0.1.0/skills/sarathi/docs/review-verification-checklist.md +63 -0
  85. sarathi_sdlc-0.1.0/skills/sarathi/docs/sarathi.html +987 -0
  86. sarathi_sdlc-0.1.0/skills/sarathi/docs/simplicity-first.md +119 -0
  87. sarathi_sdlc-0.1.0/skills/sarathi/docs/simplify-pass.md +68 -0
  88. sarathi_sdlc-0.1.0/skills/sarathi/docs/slug-id-migration.md +89 -0
  89. sarathi_sdlc-0.1.0/skills/sarathi/docs/srs-authoring.md +161 -0
  90. sarathi_sdlc-0.1.0/skills/sarathi/docs/test-ownership.md +68 -0
  91. sarathi_sdlc-0.1.0/skills/sarathi/docs/work-decomposition.md +104 -0
  92. sarathi_sdlc-0.1.0/skills/sarathi/docs/work-in-progress.md +125 -0
  93. sarathi_sdlc-0.1.0/skills/sarathi/docs/workflow-status.md +230 -0
  94. sarathi_sdlc-0.1.0/skills/sarathi/manifest.json +6 -0
  95. sarathi_sdlc-0.1.0/skills/sarathi/prompts/code-assess.prompt.md +53 -0
  96. sarathi_sdlc-0.1.0/skills/sarathi/prompts/code-create.prompt.md +85 -0
  97. sarathi_sdlc-0.1.0/skills/sarathi/prompts/code-review.prompt.md +46 -0
  98. sarathi_sdlc-0.1.0/skills/sarathi/prompts/code-verify.prompt.md +72 -0
  99. sarathi_sdlc-0.1.0/skills/sarathi/prompts/design-assess.prompt.md +32 -0
  100. sarathi_sdlc-0.1.0/skills/sarathi/prompts/design-create.prompt.md +90 -0
  101. sarathi_sdlc-0.1.0/skills/sarathi/prompts/design-review.prompt.md +43 -0
  102. sarathi_sdlc-0.1.0/skills/sarathi/prompts/design-verify.prompt.md +90 -0
  103. sarathi_sdlc-0.1.0/skills/sarathi/prompts/plan-assess.prompt.md +40 -0
  104. sarathi_sdlc-0.1.0/skills/sarathi/prompts/plan-create.prompt.md +105 -0
  105. sarathi_sdlc-0.1.0/skills/sarathi/prompts/plan-review.prompt.md +42 -0
  106. sarathi_sdlc-0.1.0/skills/sarathi/prompts/plan-verify.prompt.md +99 -0
  107. sarathi_sdlc-0.1.0/skills/sarathi/prompts/spec-assess.prompt.md +32 -0
  108. sarathi_sdlc-0.1.0/skills/sarathi/prompts/spec-create.prompt.md +96 -0
  109. sarathi_sdlc-0.1.0/skills/sarathi/prompts/spec-review.prompt.md +39 -0
  110. sarathi_sdlc-0.1.0/skills/sarathi/prompts/spec-verify.prompt.md +85 -0
  111. sarathi_sdlc-0.1.0/skills/sarathi/prompts/workflow-status.prompt.md +41 -0
  112. sarathi_sdlc-0.1.0/skills/sarathi/scripts/check_update.py +138 -0
  113. sarathi_sdlc-0.1.0/skills/srs-authoring/SKILL.md +45 -0
  114. sarathi_sdlc-0.1.0/skills/srs-authoring/agents/openai.yaml +4 -0
  115. sarathi_sdlc-0.1.0/skills/srs-authoring/references/srs-quality.md +160 -0
  116. sarathi_sdlc-0.1.0/src/sarathi_sdlc/__init__.py +10 -0
  117. sarathi_sdlc-0.1.0/src/sarathi_sdlc/__main__.py +3 -0
  118. sarathi_sdlc-0.1.0/src/sarathi_sdlc/cli.py +111 -0
  119. sarathi_sdlc-0.1.0/tests/browser/workflow-status-layout.spec.js +237 -0
  120. sarathi_sdlc-0.1.0/tests/test_check_code.py +180 -0
  121. sarathi_sdlc-0.1.0/tests/test_checkers.py +1937 -0
  122. sarathi_sdlc-0.1.0/tests/test_distribution.py +144 -0
  123. sarathi_sdlc-0.1.0/tests/test_installers.py +90 -0
  124. sarathi_sdlc-0.1.0/tests/test_instruction_budgets.py +128 -0
  125. sarathi_sdlc-0.1.0/tests/test_render_workflow_status.py +949 -0
  126. sarathi_sdlc-0.1.0/tests/test_skill_bundle.py +127 -0
  127. sarathi_sdlc-0.1.0/tests/test_waves.py +146 -0
@@ -0,0 +1,12 @@
1
+ .venv/
2
+ __pycache__/
3
+ *.py[cod]
4
+ .ruff_cache/
5
+ .mypy_cache/
6
+ .pytest_cache/
7
+ .pre-commit-cache/
8
+ .coverage
9
+ htmlcov/
10
+ node_modules/
11
+ test-results/
12
+ playwright-report/
@@ -0,0 +1,134 @@
1
+ # Changelog
2
+
3
+ All notable Sarathi changes should be recorded here.
4
+
5
+ This project follows a Keep-a-Changelog style format with `Added`, `Changed`,
6
+ `Fixed`, `Deprecated`, `Removed`, `Security`, and `Docs` headings as needed.
7
+ Release tags use `vMAJOR.MINOR.PATCH` and should match `pyproject.toml`.
8
+
9
+ ## Unreleased
10
+
11
+ ## 0.1.0 - 2026-07-18
12
+
13
+ ### Added
14
+
15
+ - Distribute Sarathi as the `sarathi-sdlc` Python package with a CLI that installs the
16
+ existing cross-platform skill, prompt, and checker targets from a wheel.
17
+ - Give installed skills explicit version metadata and a cached, fail-open PyPI update check
18
+ with an environment-variable opt-out.
19
+ - Publish tagged releases through a gated GitHub Actions Trusted Publisher workflow, then
20
+ create a GitHub Release with the verified wheel and source distribution attached.
21
+ - Show ordered `Wave N` labels beside scheduled child work in the workflow tree, show each
22
+ slice's PR state directly beneath its document chain, and let the compact parent-approval
23
+ status open a dialog with each approval record, stale hash prefixes, and the exact next
24
+ approval needed. Keep wave detail in the expanded tree row instead of a second page section.
25
+ - Add a delivery-progress status summary and feature, slice, wave, and text filters that
26
+ retain enough hierarchy to navigate from product progress to the detailed allocation tree.
27
+
28
+ - Add Lean, Standard, and High-assurance delivery profiles with context-triggered assurance
29
+ modules while preserving one feedback-driven lifecycle.
30
+ - Add a hard simplicity policy: process/product architecture separation, brownfield oracle
31
+ reuse, evidence-before-generalization, deletion-first review, conceptual complexity
32
+ budgets, and a three-PR default for bounded implementation slices.
33
+ - Add deterministic instruction budgets and a package-extraction regression example that
34
+ collapses speculative machinery into current contracts, consumer integration, and real
35
+ compatibility evidence.
36
+ - Add ordered wave declarations and a workflow-status projection: Breakdown plans assign
37
+ `WORK-*` members to `WAVE-*` sequences, while hash-current wave checkpoints preserve
38
+ completed feedback and parent-document impact evidence.
39
+ - Add an iterative feedback-and-learning policy: code-ready slices declare learning and
40
+ feedback targets, code assessment records honest feedback status and ancestor impact, and
41
+ the static process guide shows the inspect/adapt loop.
42
+ - Add bounded learning-wave guidance for agent parallelism, distinguishing preferred
43
+ intra-slice work, independent concurrent slices, and exceptional speculative downstream
44
+ work through execution, learning, and integration dependencies.
45
+ - Show the current learning target, feedback state, active wave and slices, WIP limit,
46
+ invalidation result, ancestor impact, and stop/replan triggers in workflow-status HTML;
47
+ preserve completed-slice learning evidence in hash-current code assessments.
48
+ - Add the top-level changelog and maintainer release/tagging process.
49
+ - Add a deterministic workflow-status HTML renderer and `/workflow-status` command that
50
+ visualize real artifact gates, known-unknown decomposition, PR slices, and mapped test
51
+ evidence as the same branching Spec/Design/Plan/Code tree used by the linked static process
52
+ guide.
53
+
54
+ ### Fixed
55
+
56
+ - Resolve transitive verify/review prompts from the sibling Sarathi bundle in direct stage
57
+ aliases, with project-install regression coverage.
58
+ - Install complete executable checker bundles, including shared parser/support modules.
59
+ - Require every delivery plan to declare complete ordered learning waves instead of
60
+ allowing an absent wave section to pass structurally.
61
+ - Separate four-plus-PR exception approval into `plan.complexity-approved`, allowing draft
62
+ verification before the targeted approval and reserving `plan.approved` for code entry.
63
+ - Match complexity approvals to Slice/change Plan artifacts, reject auto-approval, and let
64
+ later valid reapprovals supersede stale or ineligible earlier records.
65
+ - Validate an exact structured complexity budget and declared PR count instead of accepting
66
+ any non-empty one-line mention.
67
+ - Restore explicit TDD-exception categories, scope, replacement evidence, and qualitative
68
+ safety boundaries while replacing lexical Red/Green matching with labeled contracts.
69
+ - Ignore fenced Markdown examples when parsing complexity budgets, learning waves, and TDD
70
+ fields; require exact TDD-exception category values.
71
+ - Use one canonical `MILE|WORK|PR-AREA-NAME` grammar in plan verification and workflow
72
+ rendering; reject one-token and extra-token IDs, avoid valid-prefix matches, and display
73
+ malformed allocations as excluded repair warnings.
74
+ - Prevent status and process-guide nodes from collapsing below their content height in
75
+ mobile column layouts; add Chromium assertions for clipping, overlap, and horizontal
76
+ overflow at mobile and desktop viewports.
77
+
78
+ ### Changed
79
+
80
+ - Move wave scheduling to Breakdown plans: they group `WORK-*` children, while an
81
+ Implementation plan contains the PRs for one child. Plan and status checks enforce that
82
+ separation.
83
+ - Show feature-owned and product-owned slices separately in workflow status, including
84
+ nested allocation paths and external artifact links where configured.
85
+
86
+ - Rewrite the routing skill, stage prompts, core process docs, static guide, and workflow
87
+ status copy in plain language while preserving checker fields, approval boundaries,
88
+ independent assessment, TDD, feedback, and safety rules.
89
+ - Consolidate shared policy into triggered references and reduce the canonical stage prompt
90
+ surface from roughly 5,000 lines to about 1,000 lines.
91
+ - Make simplify passes capable of requiring upstream spec/design/plan revision when an
92
+ accepted artifact is itself overbuilt.
93
+ - Distinguish mapped test evidence from assessed or completed code: hash-current passing
94
+ code-assessment entries display `Assessed`, while hash-current `code_slice.approved`
95
+ records display `Completed`.
96
+ - Publish installed skill manifests by atomic replacement so agents cannot observe a
97
+ truncated YAML frontmatter block while an installation is running.
98
+ - Avoid treating `.sdlc/test-traceability.yaml` path references as malformed
99
+ `TEST-*` IDs during plan/code structural checks.
100
+ - Define approval as permission for the next learning step rather than artifact freeze;
101
+ require post-slice revision decisions for affected specs, designs, plans, integration
102
+ work, and process tools before learning-dependent work continues.
103
+ - Rework live workflow status around a compact executive summary and progressively
104
+ disclosed allocation tree: the active branch opens by default, inactive branches remain
105
+ collapsed, and green/amber/gray icon states distinguish approval, work in progress, and
106
+ work not started without implying percentage complete.
107
+ - Clarify cross-scope test ownership: ancestor product/feature acceptance and integration
108
+ obligations must be allocated to code-ready descendant leaves instead of disappearing
109
+ during decomposition or becoming a final big-bang test phase.
110
+ - Define `WORK-*` as a parent Breakdown-plan allocation to an explicit child scope and
111
+ artifact chain; distinguish product-to-feature, feature-to-slice, and justified
112
+ product-to-integration-slice decomposition in prompts, docs, status views, and mechanical
113
+ plan checks.
114
+ - Replace the verbose static process guide with concise PR-sized and decomposable-product
115
+ trees that show feature, slice, and product-integration test leaves and their statuses;
116
+ encode artifact type by node background and work scope by explicit level tags, with
117
+ legend swatches that display the full node fill and accent edge.
118
+
119
+ ### Removed
120
+
121
+ - Remove source-hash snapshot and provenance-table UI from workflow status; hashes remain
122
+ available to deterministic checks without becoming status-page content.
123
+ - Remove the workflow-and-learning diagnostics disclosure; delivery status is conveyed by the
124
+ progress summary, workflow tree, approval dialog, and only real plan-check warnings.
125
+ - Remove all PR, diff, module, and source-file line-count options, metrics, warnings,
126
+ reports, tests, and planning guidance. Reviewability now uses cohesion, conceptual
127
+ complexity, touch scope, evidence, rollback, and learning boundaries.
128
+ - Remove superseded private critical-review snapshots from active documentation.
129
+
130
+ ## Pre-Changelog History
131
+
132
+ Sarathi existed before this changelog was introduced. Earlier history is
133
+ available in Git, including the prompt, skill, checker, installer, brownfield
134
+ adoption, SRS authoring, cleanup, simplify, and process-quality gate changes.