Repository navigation
docs: define per-person workspace reminder acknowledgements - #6971
Wattenberger wants to merge 5 commits into
Conversation
Agent-Id: agent-c0c85819-0ca4-4af5-bcd4-cff2dcc6d0bd
Agent-Id: agent-c0c85819-0ca4-4af5-bcd4-cff2dcc6d0bd
|
@panghy Amelia is away and asked me to let you know you can merge this work if it looks good to you. This protocol PR is green and ready for review. The merge order is this PR first, then intentd#2352, then cloudlands-fe#3308. The component checks are still running. The daemon consumer check needs this PR’s temporary optional-field adoption entry on main; I’ll rerun it after these docs merge and confirm when the components are ready. The frontend’s Home integration passed all 37 focused browser cases, with screenshots inspected. |
|
@panghy Amelia is away and asked me to let you know you can merge this work if it looks good to you. The implementation is ready for review. Frontend CI is green, and the daemon's source and coverage checks passed at b4f80c09. Its remaining red compatibility check and aggregate gate need this protocol PR on main. After review, please merge in this order:
The changes add personal Dismiss for now acknowledgements that resurface for new reasons, plus a separate PR-ready category and conditional Kanban column. The focused Home browser run passed all 37 cases without retries; light, dark and narrow layouts were inspected. |
intent-hq-service
left a comment
There was a problem hiding this comment.
Source-only review of all three changed files at 38d2f12 against independently computed merge base f5945d0: no high-confidence actionable findings. Reviewed per-person reason identity/revision acknowledgements, shared-state preservation, receipt-free invalidation semantics, and staged field-parity adoption. No tests, builds, runtime checks, or hosted CI evidence were run or verified; companion intentd#2352 and cloudlands-fe#3308 are not covered. This source verdict does not establish merge readiness or authorize merging.
|
@panghy Amelia is away and asked me to say you can merge this work if it looks good to you. The frontend PR #3308 is now approved in source review and all CI checks passed at f3bd24c1, including the late-dismissal-reply correction. Local browser evidence includes before/after screenshots and exact requests, responses and current state. Please keep the merge order:
This delivers personal Dismiss for now, fresh-reason reminders, and the separate PR ready category with a Kanban column only when it has workspaces. |
|
@panghy Amelia is away and asked me to let you know you can merge this work if it looks good to you. The updated frontend PR #3308 is green at f43c6d47, including all four browser-test shards. The latest commit has source approval, and no review threads remain open. The main-branch integration preserves Micro controls and pin focus; the member-mention fixture issue is fixed. The four affected browser cases passed without retries, with saved before/after captures. Please merge in this order:
This delivers personal Dismiss for now reminders that return for new reasons, plus a separate PR ready category and a Kanban column that appears only when it has matching workspaces. |
|
@panghy Amelia is away and asked me to let you know you can merge this work if it looks good to you. The latest protocol conflict is resolved and pushed at Current readiness:
Human merge order remains protocol, daemon once its current checks pass, then frontend after daemon is confirmed merged. Component pin advances remain automation-owned. The staging row is retired after the actual frontend pin declares the projection. The companion guide in #2352 covers personal dismissal, new-reason restoration, separate PR-ready grouping and Waiting. The published guide also qualifies provider-profile and backup-control availability for the installed app version. The published guide also qualifies the newer Waiting filter, Default-name/environment control and notification suppression for supporting app versions, retaining older settings behavior. All work was isolated; primary workspace/component checkouts are preserved, host checks are healthy and no sandbox is running. No PR has been merged, enqueued or armed for auto-merge by the agent. Current daemon validation update (2026-11-01): the prospective merged 0ec32 run completed with 16,113 passed, two failed, 35 ignored and zero resumed or unfinished tests. Three cases retried: the scheduler quota case failed its deadline equality at 2.659s then passed in 3.061s; its cause remains unestablished. The UDS cost case failed at 1.888s and 1.913s, and the WSS cost case at 1.470s and 1.475s. Both final failures are assertions requiring an empty reminder object, before the later query-budget and constant-count assertions; no SQL-budget regression or budget pass is established by those failures. The row-byte golden, key golden and both reminder WSS cases passed in this full run; their earlier four-case focused pass (zero retries/resume) remains separate. Source checks passed 20 suites/272 assertions. Failed run evidence: ZIP a76312470bd8e37619e6c311bb193e9aaf13ebb451cc117a00179e404c386dd7. Reviewed successor feature c89882e9931165ca752890fbbed5fbe0a74a2223 (prospective merged source 496ec70990cf22685e8ccf7aaea405fc1f5624bc) changes only those two existing test files: require actual field absence and raw idle fallback. Both 13-statement limits, ten answered-question sessions, WSS scales 1/10/100, constant-count checks, nonempty reminder coverage, fixtures, declarations and deadlines remain. No production or guide change. Fresh 13-step preflight and both 18-target consumer contexts passed; fresh runtime/full/hosted proof is pending. Initial task-helper launch failed before any checks ran and is preserved separately. Protocol 8a777d0 CI is independently audited green (14 passed/six skipped), still open/unmerged; consumers ran at recorded default pins, so this is not protocol adoption or combined product runtime proof. Frontend d807 full verification remains active under its original immutable D6ee/35fa context. All previous failures, retries, interruptions and withheld approvals remain scoped to their recorded sources. Current frontend publication update (2026-11-01): #3308 is non-force fast-forwarded4617982f→d8076da0; remote and PR head readbacks agree. Guarded a20031de exited0/restart0. Current canonical replay rebuilt13 executed/0resumed checks and2572 unit-file obligations:2571passed+1 intentional presence-daemon skip;47585 case passes+11 EXPECTED failures+42skips,0unhandled errors. CT2591 matches2583 first-attempt passes+8skips (6isolated real-daemon fixtures+2opt-in Dock recordings); separate root browser27/27,0retries/flaky/errors. Current clean d807 Chromium attestations verify every passed CT case; root cases lack equivalent executable attachments. Svelte0errors/236warnings/83files,9275checked;12 current screenshots viewed. All8719source blobs/modes and current source/config/commands verified. Evidence ZIP8b0d453af1738e29923f9070d618eebc0dc35fd62bf342edae9b5047a5612c30 (110529252B/1807entries), all hashes/CRC verified. Initial report-export metadata error is preserved; corrected export passed, native results unchanged. Actual main934a9a97 clean previewc0eecbb5 (98paths/15behind) has bounded independent reminder/owner/guide source approval. Incoming IPC retirements, async-wait defaults and protocol15.3 fixture updates remain source-only until actual hosted merged-tree checks. Local d807 static context staysD6ee/35fa; D863/A5/F461 runtime histories remain separate. Guide companion#2352 fits; manual Home test correction has no new user-help effect. Fresh d807 hosted CI is pending/capture scheduled. Separately tested daemon496ec709 passed six focused cases, unchanged7680-byte golden and both13-statement caps (UDS ten answered sessions; WSS1/10/100); full88f1d212 remains active. Failed0ec and all3retry histories stay failed/preserved; its later budget checks were unreached after idle-presence failures. P8a remains open/unmerged. No protocol adoption, combined native runtime, merge/queue/auto-merge or shipped claim. Human merge order remains P→daemon confirmed merged→frontend. Current published evidence update (2026-11-01): Daemon #2352 now publishes The separately tested integration Current daemon CI Frontend #3308 at Local d807 browser/native proof remains separate, including 13 fresh checks, 2,571 unit-file passes/one skip, 2,583 CT passes/eight expected skips and 27 root-browser passes with zero local browser retries. Its immutable static context remains D6ee/35fa. All prior failures, interruptions, retry limits and cause uncertainties remain preserved below and in their evidence archives. Human merge permission is still pending; protocol docs lead the addition, confirmed daemon merge precedes frontend merge, and release monitoring follows the automated pins. Nothing here claims the feature merged or shipped. Current daemon hosted-CI completion (2026-11-01): CI All three coverage selections passed: 4,957/5 reported skips, 8,504/18 and 2,261/10, totaling 15,722 distinct passes and 33 reported skips. No native retries, failures or flaky outcomes were logged; per-case assertion artifacts were not uploaded, so this is not a first-attempt-perfect certificate or a full-workspace listing. Relative to reference496, 432 old passes belong to three packages outside this canonical CI selection, one is excluded by the explicit Auggie filter, and two old aggregate callback cases are replaced by 32 registered modes. All 32 modes and ten other new upstream cases passed. The unchanged 7,680-byte row cap, UDS 13-statement cap, WSS 1/10/100 cardinality/constant 13-statement caps and both reminder RPC cases completed successfully. Successful numeric row bytes were not printed. Source lint is 20 suites/272 assertions, with six additional Rust suites/29 assertions kept separate from coverage counts. There are 36 unique check names: 12 passed, two failed, 22 skipped (39 raw check IDs: 12/2/25; 26 primary jobs: 10/2/14). The only failures are consumer field parity and its dependent CI Gate. The consumer executed root All 14 executed logs, the 189-entry workflow-log ZIP, three uploaded artifacts, external workflows and actual checker inputs were reconciled. The first parent audit helper rejected the duplicated command-plan print; the corrected metadata audit binds both identical plan listings and all three actual Nextest run IDs. Its failed run and original helper remain preserved; product tests were not rerun for this exporter correction. Sealed current hosted evidence: The remaining dependency is actual protocol-docs adoption, followed by rerunning the upstream consumer check against the adopted docs. Human merge permission remains pending; confirmed daemon merge must precede frontend merge. The existing PR monitors continue to track these dependencies. |
|
Looking now sorry |
There was a problem hiding this comment.
Non-blocking review. The contract matches intentd#2352 (pair/byte limits, intersection-only acknowledgement, in_progress/waiting projection, change-only invalidation), and cloudlands-fe#3308 refetches on changes.attentionReminder === true instead of merging it. The branch merges cleanly onto current main and make docs-check check-protocol-catalog passes there. Three optional doc fixes:
-
Events paragraph placement (
docs/protocol/06-events.md). The new "Workspace reminder acknowledgements" paragraph currently sits under the#### Pending-question agent:updated payloadsheading. It also isn't listed in the §6.5 catalog row forworkspace:updated, where the other non-columnchangeskeys (members,invites) are documented. That row describeschangesas the appliedWorkspaceUpdatedelta, and this key shares its name with the object-typedWorkspace.attentionReminder, so a client that reads only the table would merge a boolean over the object. Suggest moving the paragraph under "Shared-host delivery and invalidation" (or its own####heading) and addingattentionReminder: trueto the:updatedrow next tomembers/invites. -
When the projection is omitted (
docs/protocol/methods/workspace.md,attentionReminder?). Besides older daemons, intentd#2352 also leaves the field out for archived workspaces, the chief workspace, rows without adisplayStatus, and when a store read fails. "Missing projection means the reason-aware UI action is unavailable" keeps clients correct, but naming these cases would save readers from guessing. -
Error cases on
workspace.dismissAttentionwithreasons. For a caller with no bound person, or a non-member, the daemon returns a forbidden domain error; the row says these "require a bound wire principal and membership" but doesn't give the error code. Also, an explicitreasons: nullreturns -32602 rather than taking the legacy path, while the row only covers "Omittedreasons". One clause each would make this precise.
None of these block merging.
Agent-Id: agent-c0c85819-0ca4-4af5-bcd4-cff2dcc6d0bd
Agent-Id: agent-c0c85819-0ca4-4af5-bcd4-cff2dcc6d0bd
Agent-Id: agent-c0c85819-0ca4-4af5-bcd4-cff2dcc6d0bd
Documents personal workspace reminder acknowledgements for Dismiss for now, including the additive
Workspace.attentionReminderprojection and exact reason revisions onworkspace.dismissAttention.Acknowledging observed reasons preserves pending questions, requests, raw status and activity. New reasons remain visible. The update event carries a receipt-free invalidation signal; the standard event envelope keeps its existing actor attribution.
Stages
Workspace.attentionReminderin the canonical Staged row fields (app adoption pending) table indocs/protocol/versioning.md, linked to the field contract and frontend PR. The parity checker stays identical to main, with its strict errors and staged-field warnings intact. Remove the row once the recorded frontend pin declares the field. Relative to main this PR changes three protocol documents and no executable code or submodule pointers.Validation
89321a8c, including both documentation conflict resolutions, the personal-reminder and retirement staging-row union, the full authored method/event contract and unchanged checker. Original cross-component implementation audit remains separately recorded; this is not an audit of all incoming main changes.make consumer-checkstargets passed at recorded daemon1c945b28and frontend2c856cbe. The staged row warns that the field is not emitted yet, as expected when docs lead the pin. Private iOS sources were not initialized; their optional catalog/mirror conformance is not claimed.0395e0aewith the pinned frontend (expected pending-adoption warning), and feature daemon0395e0aewith feature frontend555f5a19(expected adopted-row warning until that frontend reaches the pin). These checks name their selected sources and are separate from the default-pin proof; they do not establish full upstream CI or application runtime behavior.Guide and rollout
The companion intentd#2352 updates the bundled assistant guide, section Start or continue work, for personal dismissal, new-reason restoration, separate PR-ready grouping and Waiting. This documentation/staging reconciliation needs no further user-help change. cloudlands-fe#3308 contains the frontend implementation.
Merge this additive protocol contract first. Then verify the current daemon head/workflow and rerun its failed consumer check and gate; merge daemon before frontend once their checks pass. Component pin updates remain automation-owned.