Skip to content

Add build safety warnings, drop personal references, remove em-dashes#1

Draft
jayzuccarelli wants to merge 3 commits into
mainfrom
fix/pre-announce-safety-and-copy
Draft

Add build safety warnings, drop personal references, remove em-dashes#1
jayzuccarelli wants to merge 3 commits into
mainfrom
fix/pre-announce-safety-and-copy

Conversation

@jayzuccarelli

Copy link
Copy Markdown
Owner

Pre-announce verification pass. The history rewrite already landed on main (see below); this PR is the working-tree half.

Safety, the one that would dominate an HN thread

BUILD.md is explicitly pitched at beginners ("a tiny board about the size of your thumbnail") and walks them through:

  • G1: plugging a mains air pump into the wall beside an open bucket of water.
  • H4: hand-dosing pH-Down, which is phosphoric acid, with "you can nudge it by hand with a few drops."

Grepping the whole repo for gfci|rcd|mains|goggles|gloves|corrosive|ventilat|child|pet returned zero hits. Every existing use of the word "safety" in the docs refers to the agent's dose caps, not the human's wellbeing. docs/hardware.md:83 is literally titled "Safety, the reflex tier, in firmware (not the agent)."

Added a Safety section at the top of BUILD.md (GFCI/RCD outlets, drip loops, gloves and eye protection, add-acid-to-water, store away from children and pets, solder ventilation), plus short inline pointers at G1 and H4 so the warning appears where the risk is, not only at the top.

Hydroponics posts draw electrical and chemical scrutiny reliably. This is cheap insurance and, honestly, correct regardless of the announcement.

Personal references

  • eden/gardener/agent.py:96 shipped "Escalate to Jay (severity: ...)" inside the model-visible tool schema. A prior pass fixed the same copy in tools.py but missed this one. Also neutralized eden/schema.py:8 and instance/prompt.md.
  • BUILD.md:85 flashed from ~/projects/eden/esphome/eden-z1.yaml, an absolute path from my machine, contradicting docs/hardware.md:99 which correctly uses the relative form.

Em-dashes

151 removed. Colons after headings and bold labels, commas mid-sentence. I audited the output for punctuation artifacts afterwards and hand-fixed the one wrapped line that came out as , not a re-plumb.

Verification

make check green: ruff, mypy across 12 source files, 10 passed.

Separately: main was rewritten and force-pushed

Commit 3b7803d publicly carried:

Deliberately NOT done: flip repo public, blocked on Amazon internal OSS-policy approval (same gate as voice-pe v1 / OSS PR campaign).

That disclosed the employer relationship and an internal approval process, and named two sibling projects under the same gate. Rewritten with git filter-repo, along with historical references to the vaio host, the private homeops repo, LINEAR_TASKS.md, and JAY-NN tracker IDs.

Done at zero risk: 0 forks, 0 stars, 0 watchers, no open PRs, single branch. Verified against a fresh clone that all target strings return 0 hits. Legitimate Amazon ASIN product links in docs/hardware.md were preserved. A pre-rewrite bundle was saved locally before the force-push.

Pre-announce pass. The history rewrite landed separately on main; this is
the working-tree half.

Safety. BUILD.md walks a self-described beginner through plugging a mains
air pump in beside an open bucket of water (G1) and hand-dosing pH-Down
(H4) with no protective guidance anywhere. Grepping the repo for gfci,
rcd, goggles, gloves, corrosive, or ventilat returned zero hits: every
existing use of "safety" refers to the agent's dose caps, not the human's.
Added a Safety section at the top of BUILD.md covering GFCI/RCD outlets,
drip loops, gloves and eye protection for acid handling, and solder
ventilation, plus inline pointers at the two steps that actually carry
the risk. The reflex tier bounds the software; it cannot bound wiring or
chemistry, and the docs now say so.

Personal references. "Escalate to Jay" shipped inside the model-visible
tool schema in agent.py; a prior pass fixed the copy in tools.py but
missed this one. Also neutralized schema.py and instance/prompt.md.

BUILD.md flashed from ~/projects/eden/..., an absolute path from my
machine that contradicted docs/hardware.md's correct relative form.

Em-dashes: 151 removed. Colons after headings and bold labels, commas
mid-sentence. Audited the result for punctuation artifacts and hand-fixed
the one wrapped line that came out wrong.

make check green: ruff, mypy (12 files), 10 passed.
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a9087850-d887-4818-9f0a-c80af7e6eea4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/pre-announce-safety-and-copy

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

docs/hardware.md's pin table used an em-dash as the *value* of the 'XIAO
pin' cell for the pH analog input, meaning 'no pin, it goes through the
ADS1115'. The sweep turned it into a comma, leaving '| pH analog in |, |'.

Now '*(none)*', matching how the air-pump row already expresses the same
thing. Found by auditing every swept repo for this bug class.

make check still green.
@jayzuccarelli

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@jayzuccarelli

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.


Your plan includes PR reviews subject to rate limits. More reviews will be available in 53 minutes.

Review of this branch turned up three things the safety section claimed to
cover and did not.

No check valve. The air pump sits beside the bucket, below the water line,
so when it stops water siphons back down the hose into a mains-powered
housing. That is the specific form the mains-near-water hazard takes in
this build, and neither the safety section nor step G1 mentioned it.

No exposure response. The section said to wear gloves and eye protection
and then went quiet about what to do when pH-Down reaches skin or an eye.

No instruction to wire unpowered. Components C and D have you screwing
bare conductors into terminals, and a later step reads as though the brick
was already meant to be unplugged, but nothing ever said so.

Also softened the opening claim. 'None of that is dangerous if you take
four precautions' is not true of mains near water or of concentrated
phosphoric acid; precautions manage those risks rather than removing them.

The section was also unreachable: README never linked BUILD.md, and its
one hardware pointer landed on a section headed Safety that is entirely
about software dose caps. README now links BUILD.md and says why, and that
heading says which kind of safety it means.

Two escape hatches told the reader to 'tell me' when the dose cap fails to
fire or the MOSFET runs hot. A public reader has no me, and those are the
two moments that most need an instruction, so both now say what to do.

Remaining sweep artifacts: a double colon in the model-visible system
prompt, a dangling colon in the firmware header, a display_name that read
as a list, a CLI comma splice, and the last two em-dashes in Makefile and
.gitignore. Repo-wide count is now zero.

The SIM102 pragma had picked up a comma where ruff expects a code
separator; it still suppressed, but only because ruff ignores trailing
text. Rationale moved off the pragma line.

make check green: ruff, mypy on 12 files, 10 tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant