feat: raw capture / raw status / --replaces-bundle - documentation from git repositories as a bundle, with drift reporting (#177)
CI / verify (push) Successful in 5m39s
CI / pwsh (push) Successful in 2m15s
Release / release (push) Successful in 36s

New repo_capture module: resolve a branch or tag-pattern ref rule, fetch it
shallowly by name into a bare cache, read the glob-selected files as blobs,
and record repo/ref/commit/globs/capture fields in _capture.json. raw status
reports changed captured bundles as A/M/D; raw accept --replaces-bundle swaps
a captured bundle for its new edition at the same address. iter_raw_files now
skips _capture.json and anchors the CONTRACT.md exclusion to raw/CONTRACT.md.

Files changed:
- .gitignore
- CHANGES.md
- README.md
- VERSION
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/config.py
- tools/chemenu/repo_capture.py
- tools/chemenu/tests/test_cli.py
- tools/chemenu/tests/test_raw_capture.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
torbenandClaude Opus 5.5 committed 2026-10-05 11:59:59 +02:00
1 parent 8ff22ad6b0
commit 311c8ee059
16 files changed
+2515 -23

No files matched your search

+8
View File
@@ -217,6 +217,14 @@ text derived from it with a header recording where and when it was fetched. Behi
login, save the page from your browser into `incoming/` (HTML only) instead; the LLM derives the
same text from that file with `raw fetch --html`. See [raw/CONTRACT.md](raw/CONTRACT.md).
Documentation that lives in a git repository is captured, not copied: `tools/wikitool raw capture
<repo-url> --ref main --path 'docs/**/*.md' --name <bundle> ...` writes the matching files, byte
for byte, into `incoming/<bundle>/` together with a `_capture.json` manifest naming the repository,
the ref rule and the commit. Later, `tools/wikitool raw status` tells you which captured bundles
have fallen behind their repository, file by file; `raw capture --update` and `raw accept
--replaces-bundle` take the new edition in as a whole. Git uses your own keys and credential
helpers - nothing is stored in the repository.
### Querying Knowledge
Ask questions naturally: