Skip to content

Commit 796503b

Browse files
refactor(docs): code analysis engine
changes: - file: orchestrator.py area: cli added: [_touch_recursive] modified: [_copy_cached_export] - file: test_orchestrator_cache_mtime.py area: test added: [_write] new_tests: 2 testing: new_tests: 2 scenarios: - copy_cached_export_preserves_contents - copy_cached_export_refreshes_mtime dependencies: flow: "orchestrator→prompt" - orchestrator.py -> prompt.py stats: lines: "+16753/-251 (net +16502)" files: 23 complexity: "Large structural change (normalized)"
1 parent 2e4a7fd commit 796503b

41 files changed

Lines changed: 16784 additions & 256 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
## [Unreleased]
22

3+
## [0.5.141] - 2026-04-21
4+
5+
### Docs
6+
- Update docs/README.md
7+
- Update project/README.md
8+
- Update project/batch_1/context.md
9+
- Update project/context.md
10+
- Update project/root/context.md
11+
- Update project/test_python_only_examples/context.md
12+
13+
### Test
14+
- Update tests/test_orchestrator_cache_mtime.py
15+
16+
### Other
17+
- Update code2llm/cli_exports/orchestrator.py
18+
- Update project/analysis.toon.yaml
19+
- Update project/batch_1/analysis.toon.yaml
20+
- Update project/batch_1/evolution.toon.yaml
21+
- Update project/calls.mmd
22+
- Update project/calls.png
23+
- Update project/calls.toon.yaml
24+
- Update project/calls.yaml
25+
- Update project/compact_flow.mmd
26+
- Update project/compact_flow.png
27+
- ... and 18 more files
28+
329
## [0.5.140] - 2026-04-21
430

531
### Docs

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
## AI Cost Tracking
55

6-
![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.5.140-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
6+
![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.5.141-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
77
![AI Cost](https://img.shields.io/badge/AI%20Cost-$7.50-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-66.9h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)
88

99
- 🤖 **LLM usage:** $7.5000 (190 commits)

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.5.140
1+
0.5.141

code2llm/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
and entity resolution with multilingual support.
99
"""
1010

11-
__version__ = "0.5.140"
11+
__version__ = "0.5.141"
1212
__author__ = "STTS Project"
1313

1414
# Core analysis components (lightweight, always needed)

code2llm/cli_exports/orchestrator.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
Maintains backward compatibility with all existing --format values.
55
"""
66

7+
import os
78
import shutil
89
import sys
910
from pathlib import Path
@@ -164,6 +165,23 @@ def _copy_cached_export(cached_dir: Path, output_dir: Path, verbose: bool = Fals
164165
shutil.copytree(item, dest, dirs_exist_ok=True)
165166
else:
166167
shutil.copy2(item, dest)
168+
# Refresh mtime so the user can tell these files were produced by
169+
# the current run, even though the contents came from cache.
170+
_touch_recursive(dest)
171+
172+
173+
def _touch_recursive(path: Path) -> None:
174+
"""Update mtime/atime to now for `path` (and all contents if it is a dir)."""
175+
try:
176+
os.utime(path, None)
177+
except OSError:
178+
return
179+
if path.is_dir():
180+
for sub in path.rglob('*'):
181+
try:
182+
os.utime(sub, None)
183+
except OSError:
184+
continue
167185

168186

169187
def _copy_to_cache(output_dir: Path, cache_dir: Path, verbose: bool = False) -> None:

code2llm/nlp/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
with multilingual support and fuzzy matching.
55
"""
66

7-
__version__ = "0.5.140"
7+
__version__ = "0.5.141"
88

99
from .pipeline import NLPPipeline
1010
from .normalization import QueryNormalizer

0 commit comments

Comments
 (0)