Skip to content

Commit 399584d

Browse files
committed
README + CHANGELOG: surface cook-off table, auto-derive license badge
1 parent 0abb9f0 commit 399584d

2 files changed

Lines changed: 36 additions & 83 deletions

File tree

CHANGELOG.md

Lines changed: 21 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,28 @@
11
# Changelog
22

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/).
45

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
517

528
Initial public release.
539

5410
### 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

README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# CLIronChef
22

3-
![License: MIT](https://img.shields.io/badge/license-MIT-blue)
3+
![License](https://img.shields.io/github/license/sidkandan/CLIronChef)
44
![Python: 3.9+](https://img.shields.io/badge/python-3.9%2B-blue)
55
![Recipes](https://img.shields.io/github/directory-file-count/sidkandan/CLIronChef/recipes?label=recipes&filter=*.json)
66
![CI](https://github.com/sidkandan/CLIronChef/actions/workflows/ci.yml/badge.svg)
@@ -14,6 +14,20 @@ the target internal temperature.
1414

1515
![Cooked salmon in the Typhur Dome 2 basket with a Sync ONE probe inserted and CLI telemetry visible](docs/assets/salmon-result.jpg)
1616

17+
## What happened when three CLI agents cooked the same salmon
18+
19+
On 2026-05-17 I gave Claude Code, Codex, and Gemini CLI the same hardware
20+
(Typhur Dome 2 + Sync ONE probe), the same 1" salmon fillet, the same coating,
21+
and the same prompt: cook it to silky medium.
22+
23+
| Place | Agent | Plan | Why it placed there |
24+
|---|---|---|---|
25+
| 🥇 | Gemini CLI | Grill 450°F → Bake at probe 95°F → STOP 120°F | Read the [Typhur mode-bias docs](https://explore.typhur.com/typhur-dome-cooking-modes); picked bottom-element Grill for the skin-down fillet |
26+
| 🥈 | Codex CLI | Air Fry 390°F → Bake at probe 104°F → STOP 128°F | Clean protocol + full telemetry; wrong mode bias (top-element); pulled 8°F high |
27+
| 🥉 | Claude Code | Multi-stage Air Fry → time-based phase swap → firmware locked | Hit `cmdError 1/513` (cookingState=5); salvage round taught the single-stage + hot-modify pattern now hardcoded in the runner |
28+
29+
Full field notes: **[docs/cooking/LESSONS_LEARNED.md](docs/cooking/LESSONS_LEARNED.md)**. The lessons are encoded as recipe schema constraints, runner invariants, and the AGENTS.md operating contract.
30+
1731
```bash
1832
$ cliron-chef cook salmon_basic
1933
🔥 SMART COOK RUNNER — recipes/salmon_basic.json

0 commit comments

Comments
 (0)