diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-27 10:48:12 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-27 10:48:12 -0500 |
| commit | 6c1ea8bbc3775fe7c481f41b4f30e0c0110a9339 (patch) | |
| tree | d8607d3c7abaaa901678c89ad4e45cbc1eaca739 /inbox/PROCESSED-2026-07-08-1124-from-work-proposal-triage-intake-personal-gmail.org | |
| parent | f2609d9f9ad33486bef43211d753ba53e1e24181 (diff) | |
| download | rulesets-6c1ea8bbc3775fe7c481f41b4f30e0c0110a9339.tar.gz rulesets-6c1ea8bbc3775fe7c481f41b4f30e0c0110a9339.zip | |
feat: add peer-reasoning contract and fix two silent probe defects
I added a Collaborative Peer Reasoning section to the interaction rules. It governs how an interpretation forms before any rule about presenting choices: infer first and clarify only at material forks, test a conclusion against its strongest alternative, let a correction update the downstream model instead of just the wording. The file's framing line widened to match.
Two probes were failing silently. The startup KB nudge looked up the best-practices node by grepping file content for its slug. A roam node's slug lives in its filename, so the lookup always returned empty. The nudge pointed at nothing in every project and every session, for as long as it shipped. It matches the filename now, through find rather than a glob so zsh doesn't abort on no match.
The browser rule told agents to open URLs with a form ending in &>/dev/null &. That discards the "Opening in existing browser session." line confirming the tab opened. Warm and cold start now split: foreground and read the confirmation when Chrome is already up, detach only when it isn't. The confirmation is on stdout, verified rather than assumed.
I filed two tasks from handoffs. The sentry triage split needs a work-vs-personal classification mechanism before its wording can move, because the current rule excludes by category and category can't express that split. The publish-lock design is approved but carries three open gaps. The load-bearing one is a lock held across an unbounded human approval pause.
I also swept the old processed handoffs out of inbox/. History keeps them.
Diffstat (limited to 'inbox/PROCESSED-2026-07-08-1124-from-work-proposal-triage-intake-personal-gmail.org')
| -rw-r--r-- | inbox/PROCESSED-2026-07-08-1124-from-work-proposal-triage-intake-personal-gmail.org | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/inbox/PROCESSED-2026-07-08-1124-from-work-proposal-triage-intake-personal-gmail.org b/inbox/PROCESSED-2026-07-08-1124-from-work-proposal-triage-intake-personal-gmail.org deleted file mode 100644 index 6fb315b..0000000 --- a/inbox/PROCESSED-2026-07-08-1124-from-work-proposal-triage-intake-personal-gmail.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: Proposal: triage-intake.personal-gmail.org edit (copy sent a -#+SOURCE: from work -#+DATE: 2026-07-08 11:24:19 -0500 - -Proposal: triage-intake.personal-gmail.org edit (copy sent alongside this note). Two additions to the Scan section, both from a 2026-07-08 work-session investigation: (1) a warning that the Gmail MCP listMessages tool caps at maxResults=100 and exposes no pageToken parameter, so >100 unread piles silently truncate — with the date-slice walk (before:<oldest-day>, dedupe by id) as the recipe, and a note that resultSizeEstimate is unreliable (stuck at 201 while the real union exceeded 300); (2) a mandatory cheap backlog-residue probe each sweep (q="is:unread in:inbox before:<anchor-date>" maxResults=5) that loudly surfaces any pre-anchor unread instead of letting anchored sweeps claim 'no changes' over a window they never saw. Root cause this fixes: ~300 unread accumulated invisibly Jun 4 - Jul 4 because anchored scans never look behind the anchor and the 7/4 catch-up hit the 100 cap. Companion: the work project's project-owned triage-intake.deepsat-gmail.org got the same two additions directly (work tool names); no other plugins in the gmail family. The engine file needs no change. |
