acuvo-code 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ENTERPRISE.md CHANGED
@@ -189,7 +189,7 @@ are the numbers to quote. Counting is the first thing a reviewer does.
189
189
 
190
190
  ⚠️ **This said "18 shipped files", then "41", then "90", then "101", then "108", and every
191
191
  one went stale in turn.** The package ships **120 files — 118 in `lib/`, 2 in
192
- `bin/` — about 78328 lines**, with **237 test files** beside them (counted 2026-08-22).
192
+ `bin/` — about 78511 lines**, with **238 test files** beside them (counted 2026-08-22).
193
193
 
194
194
  ⭐ **AND THE 108 WENT STALE IN THE MOST INSTRUCTIVE WAY POSSIBLE: THREE OF THE FILES IT
195
195
  MISSED WERE REACHABLE FROM NOTHING.** `wiring-reach.test.mjs` was naming
@@ -203,7 +203,7 @@ exactly the kind of number this section warns about.
203
203
  allowlist also carries **`test/`, `ENTERPRISE.md` and `ROADMAP.md`**, and the published
204
204
  tarball is **265 files, 5.1 MB unpacked — 182 of them tests against 98 of `lib/`.** That is
205
205
  deliberate, not drift (commit `ed08f2710`, *"ship the tests, and add CI that would have
206
- caught the false green"*): a document that invites you to audit 78328 lines and then ships
206
+ caught the false green"*): a document that invites you to audit 78511 lines and then ships
207
207
  you the source without the tests is asking to be taken on trust, which is the one thing this
208
208
  file refuses to ask for. ⭐ **Run them yourself: `npm test` inside the installed package.**
209
209
  The stale sentence is the more interesting failure — it under-claimed, so nobody would ever
@@ -892,7 +892,7 @@ For completeness, the properties none of them offers:
892
892
  (`lib/media.mjs`), and generates imagery with no configuration and no account
893
893
  (`lib/imagegen.mjs`) — critiqued before it is accepted, and reported as unreviewed when
894
894
  no critic is available.
895
- - ⭐ **Zero dependencies.** The entire auditable surface is 120 files and 78328 lines,
895
+ - ⭐ **Zero dependencies.** The entire auditable surface is 120 files and 78511 lines,
896
896
  and there is no `node_modules` behind it. (Counted 2026-08-22 from
897
897
  `lib/*.mjs` + `bin/*.mjs`; `test/docs-truth.test.mjs` fails the build if this number
898
898
  drifts, which is why it went 18 → 41 → 46 → 52 → 53 → 57 → 60 → 61 → 62 → 65 → 66 → 69 → 70 → 71 → 72 → 73 → 80 → 84 → 90 → 100 → 101 → 102 → 103 → 107 → 108 → 111 as modules landed (111 = the three that were WRITTEN and imported by nothing — `python.mjs`, `cache-floor.mjs`, `plan-coherence.mjs`; 108 = `warm-provider.mjs`, which keeps a session on the upstream that holds its prompt cache; 107 = `login.mjs`, the command that stores an Acuvo credential — until it existed, `writeAccount` was called by nothing and every user fell through to BYOK). ⚠️ Two of those three landed on this count while remaining UNREACHABLE, which is the sharpest illustration this document has that a file count is a claim about bytes, never about capability. ⭐ A
package/lib/input-box.mjs CHANGED
@@ -528,7 +528,26 @@ export function pinRegion(output, { rows = 2, env = process.env } = {}) {
528
528
  * screen. Both are needed and the order matters: erase the history, erase the
529
529
  * screen, then home.
530
530
  */
531
- output.write(`${CSI}3J${CSI}2J${CSI}1;${bottom}r${CSI}1;1H`);
531
+ /**
532
+ * ── ⚠️⚠️ THE CANONICAL CLEAR, IN THE CANONICAL ORDER — TWICE WRONG BEFORE ──
533
+ *
534
+ * Roman, twice: *"you have to scroll down to see the prompt area."*
535
+ *
536
+ * What `clear` itself emits is `ESC[H ESC[2J ESC[3J` — HOME FIRST, then erase
537
+ * the screen, then erase the scrollback. I had `3J 2J` with the home last, and
538
+ * the order is not cosmetic: erasing scrollback while the cursor is still
539
+ * parked in it leaves the viewport anchored to a region that no longer exists,
540
+ * so the terminal keeps showing the old shell output and our banner and prompt
541
+ * sit below the fold.
542
+ *
543
+ * ⭐ HOME FIRST puts the viewport at the top of the buffer BEFORE anything is
544
+ * erased, so there is nowhere stale for it to stay.
545
+ *
546
+ * ⚠️ AND THE SCROLL REGION IS SET LAST. Setting a region while the cursor is
547
+ * outside it is undefined across terminals — some clamp, some ignore it. Clear
548
+ * completely, then declare the region, then place the cursor inside it.
549
+ */
550
+ output.write(`${CSI}H${CSI}2J${CSI}3J${CSI}1;${bottom}r${CSI}1;1H`);
532
551
 
533
552
  const release = () => {
534
553
  if (released) return;