Skip to content

Commit 107becf

Browse files
author
Arturo R Montesinos
committed
docs: sync AI_CURATOR_RECIPE with CLI skeleton
1 parent 2e66458 commit 107becf

1 file changed

Lines changed: 30 additions & 11 deletions

File tree

AI_CURATOR_RECIPE.md

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,19 @@ curated_by: arturo
2121
## 2) Product Contract (plain language) <!-- @curator:required -->
2222

2323
Describe the externally visible behavior of the CLI.
24-
For now, this is aspirational and aligned with `docs/curation/BLUEPRINT.md`.
24+
This section reflects the **currently implemented skeleton** plus
25+
near-term intent from `docs/curation/BLUEPRINT.md`.
2526

2627
| Aspect | Description |
2728
|--------|-------------|
28-
| **Inputs** | CLI invocation `odsview <file.ods> [options]` (TBD), filesystem `.ods` files |
29-
| **Outputs/streams** | `stdout`human-readable table or metadata; `stderr` → diagnostics and error messages |
30-
| **Exit codes** | `0` on success; non-zero for invalid CLI usage, file-not-found, parse errors, and internal failures (exact mapping TBD) |
31-
| **Determinism** | Given the same file, CLI options, and environment, output is deterministic (no randomness; locale and encoding rules to be defined in Appendix A) |
29+
| **Inputs** | CLI invocation `odsview [FILE] [options]`; `FILE` is optional in the current skeleton |
30+
| **Outputs/streams** | `stdout`help/usage text (currently); `stderr` → diagnostics and error messages (future work) |
31+
| **Exit codes** | `0` on success (e.g. `--help` or no arguments); `2` for CLI usage errors such as attempting to view a file before viewing is implemented |
32+
| **Determinism** | Given the same CLI arguments and environment, help/usage output is deterministic; data rendering determinism will be specified alongside the first real viewing implementation in Appendix A |
3233

33-
> Appendix A will refine these contracts once the first CLI behavior and
34-
> tests are implemented.
34+
As of this milestone, the CLI is **read-only and non-functional for
35+
actual `.ods` viewing**; attempting to pass a file path results in a
36+
usage error indicating that viewing is not implemented yet.
3537

3638
## 3) Curation Principles <!-- @curator:required -->
3739
- AI drafts; human curator approves and is accountable.
@@ -108,15 +110,32 @@ Curator docs under `docs/curation/` are validated via `scripts/validate_recipe.p
108110
first end-to-end tests.
109111

110112
## Appendix A — Project-Specific Contracts <!-- @curator:required -->
111-
- **CLI entrypoint**: TBD (likely `odsview` console script).
113+
114+
**Current implemented behavior (skeleton)**
115+
116+
- **CLI entrypoint**: `odsview` console script (via `pyproject.toml`).
117+
- **Inputs**:
118+
- No arguments → prints help to `stdout`, exits with code `0`.
119+
- `--help` → prints help to `stdout`, exits with code `0`.
120+
- `FILE` argument → currently treated as unsupported; the CLI reports
121+
that viewing `.ods` files is not implemented yet and exits with a
122+
non-zero usage error code (`2`).
123+
- **Outputs**:
124+
- Help/usage text only; no data rendering yet.
125+
- **Invariants (even at this stage)**:
126+
- Never mutates any input file.
127+
- Avoids interactive prompts by default.
128+
129+
**Planned behavior (not yet implemented, subject to future ADRs)**
130+
112131
- **Inputs**: `.ods` file path; optional flags for sheet selection,
113-
max rows, and display options (to be formalized).
132+
max rows, and display options.
114133
- **Outputs**: Human-readable table on `stdout` with truncation rules for
115134
very wide or long sheets.
116135
- **Invariants**:
117136
- Never mutates the source file.
118137
- Fails fast and clearly on unreadable or unsupported files.
119138
- Avoids interactive prompts by default (suitable for automation).
120139

121-
These contracts will be refined and linked to concrete tests and ADRs as the
122-
implementation emerges.
140+
Planned contracts become authoritative only once backed by tests and,
141+
where appropriate, ADRs.

0 commit comments

Comments
 (0)