sumd 0.3.2__tar.gz → 0.3.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 (33) hide show
  1. {sumd-0.3.2 → sumd-0.3.4}/CHANGELOG.md +33 -0
  2. {sumd-0.3.2 → sumd-0.3.4}/PKG-INFO +7 -3
  3. {sumd-0.3.2 → sumd-0.3.4}/README.md +6 -2
  4. {sumd-0.3.2 → sumd-0.3.4}/pyproject.toml +1 -1
  5. {sumd-0.3.2 → sumd-0.3.4}/sumd/__init__.py +1 -1
  6. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/__init__.py +4 -1
  7. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/call_graph.py +1 -1
  8. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/quality.py +1 -1
  9. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/workflows.py +1 -1
  10. {sumd-0.3.2 → sumd-0.3.4}/.gitignore +0 -0
  11. {sumd-0.3.2 → sumd-0.3.4}/LICENSE +0 -0
  12. {sumd-0.3.2 → sumd-0.3.4}/sumd/cli.py +0 -0
  13. {sumd-0.3.2 → sumd-0.3.4}/sumd/extractor.py +0 -0
  14. {sumd-0.3.2 → sumd-0.3.4}/sumd/generator.py +0 -0
  15. {sumd-0.3.2 → sumd-0.3.4}/sumd/mcp_server.py +0 -0
  16. {sumd-0.3.2 → sumd-0.3.4}/sumd/parser.py +0 -0
  17. {sumd-0.3.2 → sumd-0.3.4}/sumd/pipeline.py +0 -0
  18. {sumd-0.3.2 → sumd-0.3.4}/sumd/renderer.py +0 -0
  19. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/api_stubs.py +0 -0
  20. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/architecture.py +0 -0
  21. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/base.py +0 -0
  22. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/code_analysis.py +0 -0
  23. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/configuration.py +0 -0
  24. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/dependencies.py +0 -0
  25. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/deployment.py +0 -0
  26. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/environment.py +0 -0
  27. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/extras.py +0 -0
  28. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/interfaces.py +0 -0
  29. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/metadata.py +0 -0
  30. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/refactor_analysis.py +0 -0
  31. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/source_snippets.py +0 -0
  32. {sumd-0.3.2 → sumd-0.3.4}/sumd/sections/test_contracts.py +0 -0
  33. {sumd-0.3.2 → sumd-0.3.4}/sumd/toon_parser.py +0 -0
@@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.4] - 2026-04-19
11
+
12
+ ### Docs
13
+ - Update CHANGELOG.md
14
+ - Update README.md
15
+ - Update SUMR.md
16
+ - Update TODO.md
17
+ - Update project/context.md
18
+
19
+ ### Test
20
+ - Update testql-scenarios/generated-cli-tests.testql.toon.yaml
21
+ - Update testql-scenarios/generated-from-pytests.testql.toon.yaml
22
+
23
+ ### Other
24
+ - Update project/analysis.toon.yaml
25
+ - Update project/duplication.toon.yaml
26
+ - Update project/map.toon.yaml
27
+ - Update project/validation.toon.yaml
28
+ - Update sumd/sections/__init__.py
29
+ - Update sumd/sections/call_graph.py
30
+ - Update sumd/sections/quality.py
31
+ - Update sumd/sections/workflows.py
32
+
33
+ ## [0.3.3] - 2026-04-19
34
+
35
+ ### Added
36
+ - SUMR `refactor` profile: 9 analysis sections — `workflows`, `quality`, `call_graph`, `test_contracts`, `api`, `cli`, `architecture`, `data_flow`, `dependencies`
37
+ - `sumd/sections/__init__.py` — section registry for profile dispatch
38
+
39
+ ### Docs
40
+ - Removed AI cost tracking badges from README
41
+ - README updated to reflect v0.3.3 refactor profile capabilities
42
+
10
43
  ## [0.3.2] - 2026-04-19
11
44
 
12
45
  ### Docs
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sumd
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: SUMD - Structured Unified Markdown Descriptor for AI-aware project documentation
5
5
  Project-URL: Homepage, https://github.com/tom/statement
6
6
  Project-URL: Repository, https://github.com/tom/statement
@@ -39,9 +39,9 @@ Description-Content-Type: text/markdown
39
39
 
40
40
  ## AI Cost Tracking
41
41
 
42
- ![AI Cost](https://img.shields.io/badge/AI%20Cost-$4.80-green) ![AI Model](https://img.shields.io/badge/AI%20Model-openrouter%2Fqwen%2Fqwen3-coder-next-lightgrey)
42
+ ![AI Cost](https://img.shields.io/badge/AI%20Cost-$5.10-yellow) ![AI Model](https://img.shields.io/badge/AI%20Model-openrouter%2Fqwen%2Fqwen3-coder-next-lightgrey)
43
43
 
44
- This project uses AI-generated code. Total cost: **$4.8000** with **32** AI commits.
44
+ This project uses AI-generated code. Total cost: **$5.1000** with **34** AI commits.
45
45
 
46
46
  Generated on 2026-04-19 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/models/openrouter/qwen/qwen3-coder-next)
47
47
 
@@ -49,6 +49,10 @@ Generated on 2026-04-19 using [openrouter/qwen/qwen3-coder-next](https://openrou
49
49
 
50
50
 
51
51
 
52
+ ![Version](https://img.shields.io/badge/version-0.3.4-blue) ![Python](https://img.shields.io/badge/python-3.10+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
53
+
54
+
55
+
52
56
  SUMD is a semantic project descriptor format in Markdown that defines intent, structure, execution entry points, and mental model of a system for both humans and LLMs.
53
57
 
54
58
  ## What is SUMD?
@@ -2,9 +2,9 @@
2
2
 
3
3
  ## AI Cost Tracking
4
4
 
5
- ![AI Cost](https://img.shields.io/badge/AI%20Cost-$4.80-green) ![AI Model](https://img.shields.io/badge/AI%20Model-openrouter%2Fqwen%2Fqwen3-coder-next-lightgrey)
5
+ ![AI Cost](https://img.shields.io/badge/AI%20Cost-$5.10-yellow) ![AI Model](https://img.shields.io/badge/AI%20Model-openrouter%2Fqwen%2Fqwen3-coder-next-lightgrey)
6
6
 
7
- This project uses AI-generated code. Total cost: **$4.8000** with **32** AI commits.
7
+ This project uses AI-generated code. Total cost: **$5.1000** with **34** AI commits.
8
8
 
9
9
  Generated on 2026-04-19 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/models/openrouter/qwen/qwen3-coder-next)
10
10
 
@@ -12,6 +12,10 @@ Generated on 2026-04-19 using [openrouter/qwen/qwen3-coder-next](https://openrou
12
12
 
13
13
 
14
14
 
15
+ ![Version](https://img.shields.io/badge/version-0.3.4-blue) ![Python](https://img.shields.io/badge/python-3.10+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
16
+
17
+
18
+
15
19
  SUMD is a semantic project descriptor format in Markdown that defines intent, structure, execution entry points, and mental model of a system for both humans and LLMs.
16
20
 
17
21
  ## What is SUMD?
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sumd"
7
- version = "0.3.2"
7
+ version = "0.3.4"
8
8
  description = "SUMD - Structured Unified Markdown Descriptor for AI-aware project documentation"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -4,7 +4,7 @@ SUMD is a semantic project descriptor format in Markdown that defines intent,
4
4
  structure, execution entry points, and mental model of a system for both humans and LLMs.
5
5
  """
6
6
 
7
- __version__ = "0.3.2"
7
+ __version__ = "0.3.4"
8
8
 
9
9
  from sumd.parser import (
10
10
  SUMDDocument,
@@ -90,10 +90,13 @@ PROFILES: dict[str, set[str]] = {
90
90
  "refactor": {
91
91
  "metadata",
92
92
  "architecture",
93
- "quality",
93
+ "workflows", # task commands — how to verify nothing is broken
94
+ "quality", # pytest coverage + lint results — safe refactor zones
94
95
  "dependencies",
95
96
  "source_snippets",
97
+ "call_graph", # HUBS table — which functions are too central
96
98
  "refactor_analysis",
99
+ "test_contracts", # what the system guarantees — regression baseline
97
100
  },
98
101
  }
99
102
 
@@ -15,7 +15,7 @@ from sumd.sections.base import RenderContext, Section
15
15
  class CallGraphSection:
16
16
  name = "call_graph"
17
17
  level = 2
18
- profiles = frozenset({"rich"})
18
+ profiles = frozenset({"rich", "refactor"})
19
19
 
20
20
  def should_render(self, ctx: RenderContext) -> bool:
21
21
  return any("calls.toon" in e.get("file", "") for e in ctx.project_analysis)
@@ -9,7 +9,7 @@ from sumd.sections.base import RenderContext, Section
9
9
  class QualitySection:
10
10
  name = "quality"
11
11
  level = 2
12
- profiles = frozenset({"light", "rich"})
12
+ profiles = frozenset({"light", "rich", "refactor"})
13
13
 
14
14
  def should_render(self, ctx: RenderContext) -> bool:
15
15
  return bool(ctx.pyqual)
@@ -9,7 +9,7 @@ from sumd.sections.base import RenderContext, Section
9
9
  class WorkflowsSection:
10
10
  name = "workflows"
11
11
  level = 2
12
- profiles = frozenset({"minimal", "light", "rich"})
12
+ profiles = frozenset({"minimal", "light", "rich", "refactor"})
13
13
 
14
14
  def should_render(self, ctx: RenderContext) -> bool:
15
15
  return bool(ctx.tasks or ctx.doql.get("workflows"))
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