Add json/csv support to the posting script (issue #012)
TEXT_KINDS and TEXT_SUFFIXES now include json/csv, with matching sniff_text_kind branches so both explicit --kind and positional auto-mode work. Added validate_payload's JSON shape check mirroring the server. Updated SKILL.md/docs/llm_posting_helper.md with real usage examples, replacing the stale --as-markdown workaround guidance (kept only for genuinely unstructured code, which still has no dedicated kind). Also fixed an unrelated stale doc line found in the same table: html_full's validation was documented as requiring <!doctype AND <html, but only <html is actually required. Verified via dry-run (explicit --kind, auto-mode, invalid-JSON rejection) and one real end-to-end post through the script against the live dev instance. Added tests/scripts/test_daybook_post.py - 17 tests, plain unittest, zero new dependencies, loaded via importlib since the script isn't a package. Closes the test-coverage question the issue raised. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
532b4bd4eb
commit
e137725cab
6 changed files with 177 additions and 8 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# 012 — `daybook_post.py` doesn't know about the `json`/`csv` kinds
|
||||
|
||||
**Status:** Open
|
||||
**Status:** Fixed
|
||||
|
||||
## Description
|
||||
|
||||
|
|
@ -43,4 +43,26 @@ kind at all.
|
|||
|
||||
## Resolution
|
||||
|
||||
_(pending)_
|
||||
Added `"json"`/`"csv"` to `TEXT_KINDS` and `.json`/`.csv` to `TEXT_SUFFIXES`
|
||||
with matching `sniff_text_kind` branches, so both explicit `--kind
|
||||
json`/`csv` and plain positional auto-mode (`daybook_post.py data.json`)
|
||||
work. Added a `json` branch to `validate_payload()` mirroring the server's
|
||||
`json.loads` check (no branch needed for `csv` - matches the server's own
|
||||
lenient stance). Updated `SKILL.md` and `docs/llm_posting_helper.md` with
|
||||
real usage examples, replacing the stale `--as-markdown` workaround
|
||||
guidance for CSV/JSON (kept for genuinely unstructured "code" only, which
|
||||
still has no dedicated kind). Also fixed an unrelated pre-existing doc
|
||||
inaccuracy noticed in the same table: `html_full`'s validation was
|
||||
documented as requiring both `<!doctype` and `<html`, but the code (and
|
||||
server) only require `<html`.
|
||||
|
||||
Verified via dry-run for both explicit and auto-mode paths, invalid-JSON
|
||||
rejection, and one real end-to-end post through the script against the
|
||||
live dev instance.
|
||||
|
||||
Added `tests/scripts/test_daybook_post.py` (plain `unittest`, zero new
|
||||
dependencies, loaded via `importlib` since the script isn't a package) -
|
||||
17 tests covering `sniff_text_kind`, `validate_payload`, and
|
||||
`resolve_auto_path`. Answers this issue's open question about test
|
||||
coverage: yes, worth having now that the script's logic has real
|
||||
per-kind branches worth protecting against regression.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue