|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -All notable changes to this project will be documented in this file. |
| 3 | +All notable changes to CLIronChef are documented here. Format follows |
| 4 | +[Keep a Changelog](https://keepachangelog.com/en/1.1.0/). |
4 | 5 |
|
5 | | -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
6 | | -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
7 | | - |
8 | | -## [Unreleased] |
9 | | - |
10 | | -### Added |
11 | | -- `tests/test_warm_hold_validation.py` — asserts every warm-hold recipe uses valid mode+temp combinations (regression test for the Reheat-180°F bug) |
12 | | -- `tests/test_cli_doc_consistency.py` — detects drift between `cli.py` subcommands/flags and `docs/reference/CLI_REFERENCE.md` |
13 | | -- `tests/test_docs_links.py` — validates local Markdown links across docs, templates, and root files |
14 | | -- `.pre-commit-config.yaml` — ruff + JSON/YAML/TOML validation + leak scan + secret detection |
15 | | -- `scripts/gen_cli_reference.py` — helper to regenerate the CLI reference skeleton from live argparse setup |
16 | | -- `scripts/leak_scan.sh` — reusable public-release scan shared by CI and pre-commit |
17 | | -- CI `leak-scan` job — fails the build if personal paths, real device IDs, or credentials are committed |
18 | | -- CI `validate-recipes` job — runs `cliron-chef recipes validate` on every bundled recipe |
19 | | - |
20 | | -### Improved |
21 | | -- CI `test` job — added `py_compile` check + `--help` smoke + `fail-fast: false` matrix |
22 | | -- README + getting-started docs — clearer public entry points and less competition-specific front-door language |
23 | | -- Public docs — removed private research-project naming and clone-URL placeholders |
24 | | -- `scripts/leak_scan.sh` — also blocks accidentally committed `.log` cook/debug files |
25 | | -- `docs/assets/` — added cropped, metadata-stripped cook media derivatives for the README |
26 | | -- AGENTS.md — added fresh-session bootstrap, live-cook timer rules, media policy, and defensive-test guidance |
27 | | -- CLAUDE.md / GEMINI.md — added tool-specific bootstrap shims that redirect agents to AGENTS.md |
28 | | -- PUBLIC_RELEASE_CHECKLIST.md — documents pre-commit + the three CI jobs |
29 | | - |
30 | | -### Community / Adoption |
31 | | -- AGENTS.md — added "About This Project", "Communication During A Cook", "When You |
32 | | - Successfully Help A Cook" (star-nudge ethics), "Sharing What You Learn Back" |
33 | | - (contribution pathway), "When To Ask The Human First" (permission patterns), and |
34 | | - "Where To Learn More" (priority-ordered reading list) sections |
35 | | -- README.md — added shields.io badges (license, Python, recipe count, CI status) |
36 | | -- README.md — replaced GitHub owner placeholders with the canonical `sidkandan/CLIronChef` |
37 | | - repo path and made software dependencies explicit |
38 | | -- README.md — added "🤖 Have an AI agent install this for you" section with |
39 | | - copy-pasteable prompt for Claude/Gemini/Codex/Cursor |
40 | | -- README.md — added a recipe/field-note sharing section that clarifies human stars vs |
41 | | - agent-authored contribution drafts |
42 | | -- README media — replaced the tight salmon crop with the wider HEIC-derived setup photo |
43 | | -- SECURITY.md / CODE_OF_CONDUCT.md — clarified private-reporting guidance without relying |
44 | | - on an unpublished maintainer email |
45 | | -- README.md — added "Where to get the hardware" subsection with neutral, no-affiliate |
46 | | - links to Typhur product pages |
47 | | -- CONTRIBUTING.md — added "Beyond stars — how to support the project" section |
48 | | - documenting alternative engagement signals (recipe PRs, Discussions, forks, etc.) |
49 | | - |
50 | | -## [0.1.0] — 2026-05-18 |
| 6 | +## [0.1.0] — 2026-05-19 |
51 | 7 |
|
52 | 8 | Initial public release. |
53 | 9 |
|
54 | 10 | ### Added |
55 | | -- **CLI** (`cliron-chef`): login, info, status, preflight, cook, modify, stop, monitor, |
56 | | - recipes (list/show/validate), modes (list) |
57 | | -- **Python API** (`cliron_chef` package): Typhur HTTP client, MQTT subscriber wrapper, |
58 | | - declarative recipe runner, probe-driven watcher with mode-swap support |
59 | | -- **Built-in recipes**: salmon_basic, salmon_gourmet, steak_reverse_sear, chicken_thighs, |
60 | | - chicken_breast, pork_tenderloin, fish_white |
61 | | -- **Docs**: setup and first-cook guides, agent guide, architecture, modes, lifecycle, |
62 | | - recipes, probe placement, CLI reference, troubleshooting, FAQ, safety, hardware, |
63 | | - protocol, lessons learned, and privacy notes |
64 | | -- **Scripts**: preflight.py, status.py |
65 | | -- **Tests**: recipe schema validation, modes table sanity checks |
66 | | -- **GitHub templates**: bug_report, feature_request, recipe_proposal, PR template |
67 | | -- **CI**: GitHub Actions workflow for lint + tests |
68 | | - |
69 | | -### Protocol features supported |
70 | | -- Cloud HTTP API (login, device list, MQTT cert, cooking command, status request) |
71 | | -- AWS IoT MQTT telemetry subscription (probe + dome) |
72 | | -- Single-stage cook configuration |
73 | | -- Hot-modify mid-cook (mode + temperature + time, single-stage) |
74 | | -- Probe-driven phase transitions |
75 | | -- Probe-driven STOP at target |
76 | | -- Mode-swap to warm-hold (Dehydrate 180°F) as optional done-signal cue (advanced opt-in only — see COOK_LIFECYCLE.md) |
77 | | - |
78 | | -### Known limitations |
79 | | -- Physical Start button is unbypassable (firmware UL/IEC gate; verified, not a CLIronChef bug) |
80 | | -- API PAUSE is effectively terminal in firmware; the CLI refuses to send it |
81 | | -- Multi-stage native cook (`cookingStageNum>1`) is supported by the firmware but |
82 | | - intentionally not exposed in the CLI — single-stage + hot-modify is more flexible |
83 | | - and recoverable |
84 | | -- Only AF04 (Dome 2) is fully supported; AF13 (Sync Air Fryer) bindings exist but the |
85 | | - CLI's high-level commands target AF04 |
86 | | - |
87 | | -### Acknowledgments |
88 | | -- [oleost/typhurHA](https://github.com/oleost/typhurHA) — protocol foundation |
89 | | -- The private prototype notes that this public project was extracted from |
| 11 | +- Python CLI + library for supervised, probe-driven cooks on the Typhur Dome 2 air fryer and Sync ONE wireless probe. |
| 12 | +- 7 built-in recipes (salmon basic + gourmet, steak reverse-sear, chicken thighs + breast, pork tenderloin, white fish). |
| 13 | +- Declarative JSON recipe schema with probe-driven phase transitions. |
| 14 | +- Live MQTT telemetry subscription and mid-cook hot-modify (mode/temp/time). |
| 15 | +- Probe-driven STOP at target internal temperature. |
| 16 | +- AGENTS.md operating contract (10 non-negotiable rules) for Claude Code, Codex CLI, Gemini CLI, and other agent harnesses. |
| 17 | +- Public-release leak scan and pre-commit hygiene tooling. |
| 18 | + |
| 19 | +### Lessons codified from the 2026-05-17 three-agent cook-off |
| 20 | +- Single-stage cook setup (cookingStageNum=1) is the only safe pattern; cross-stage hot-modify is firmware-locked. |
| 21 | +- 2400-second timer buffer is reasserted on every hot-modify. |
| 22 | +- Phase transitions are probe-driven, not time-driven. |
| 23 | +- Mode selection uses element-bias metadata, not mode names. |
| 24 | + |
| 25 | +### Safety |
| 26 | +- Physical Start button on the Dome 2 is intentionally not bypassed (UL/IEC interlock). Human always presses Start; everything after is automated. |
| 27 | + |
| 28 | +[0.1.0]: https://github.com/sidkandan/CLIronChef/releases/tag/v0.1.0 |
0 commit comments