Repository navigation
Conversation
Review or Edit in CodeSandboxOpen the branch in Web Editor • VS Code • Insiders |
|
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Writes 525 units from the last 39 compile batches into the research pages they belong to, without a second reader, the same way as the earlier groups. Five plate-notes pages, a Typora page and a Wordgard page start or continue in new parts. Beyond the ask: nothing. Shipped fast, no review. Session: local_3b346f54-b80a-48ae-817e-84a5fd143386
Three Codex law readers placed the 93 law units that the compile batches found under their Markdown editing spec sections. They merged repeats into existing rules and picked free IDs, which adds 82 proposed rules, for 163 in all. The Search And Find-Jump note now names the Find bar's selection seeding, so the Search seeding drift bullet in current-evidence.md is gone, and the comment and suggestion family row there names its current proof. Beyond the ask: the Search note correction, which law reader a found. Shipped fast, no review. Session: local_3b346f54-b80a-48ae-817e-84a5fd143386 Plan: docs/plans/2026-10-24-research-loop.md
… plan Deletes compile.mjs, its test, kb's fold, write, resolve, quote and pins verbs, the K15 check and the empty docs/research/folded.tsv. The compile was their last user. The homes index and the K14 no-home check move to homes.mjs, with their tests in homes.test.mjs, so kb homes works as before. The research loop plan closes partial. Its Close names what landed and where proof stops, and step 3.4's trial waits. Beyond the ask: nothing. Shipped fast, no review. Session: local_3b346f54-b80a-48ae-817e-84a5fd143386 Plan: docs/plans/2026-10-24-research-loop.md
Triage of udecode/plate issues lived in four places, and nothing recorded that an issue was triaged, on which model, or against which issue text. The Triage playbook now owns the method. `triage` and `triage label:<label>` work the open queue, `triage #N` takes one issue with its neighbors, and `triage fix #N` triages N's group, then goes on into a Bug fix run. `pnpm triage` is the only writer of docs/triage/issues.tsv. `show` prints each issue with numbered lines and says whether the session can record. `record` takes a call only from the root session of a person's own Claude or Codex launch, whose every turn ran on Opus or Sol at xhigh. It takes an issue only when every line `show` printed for it reached that session's tool results. A record goes stale when the issue text, owner code, duplicate target, task or method changes, and two records made at once show a conflict. `queue`, `labels`, `mark` and `check` serve the global run, the `triaged` label, comment drafts and `pnpm check`. maintainer keeps GitHub I/O: issue drafts, Slate issues, PRs, security, the queue snapshot and the truth gate. Bug fix runs `pnpm triage show` and the live claim check before it reproduces a public issue. The shared lead reader from dotai now ends a background call at its task notification or at its output file's exit line. Beyond the ask: none Claude Code and Codex sessions on Opus or Sol at xhigh can record. A session below that, a subagent, a nested `claude -p` and a Codex child thread still triage and draft, and name each issue they could not record. Every committer's `pnpm check` runs the register's shape check. Session: local_1b552554-ec6a-42f7-9a92-d4db36d2d438 Plan: docs/plans/2026-10-24-issue-triage.md
cross.mjs now waits for stdout and stderr to drain before it exits, so a Codex reply longer than 64 KB reaches its caller whole. On macOS the old exit cut piped replies at 65,536 bytes. Both runtimes' sessions that run a cross.mjs seat or reader gain whole replies; nothing else changes for any committer. The sync renders dotai 62bba2c, which is 6206d2c plus this fix. The research loop plan drops its cross.mjs open item and lists ellie and plate, which this sync leaves for their next run. Beyond the ask: the cross.mjs fix, which this plan's compile hit twice. Shipped fast, no review. Session: local_3b346f54-b80a-48ae-817e-84a5fd143386 Plan: docs/plans/2026-10-24-research-loop.md
Renders the dotai commit that ranks issue-backed tasks first within a priority and makes the push guard deny bash -e -c, bash -c -- and forced matching or wildcard pushes of next. Closes the triage plan, with its lesson panel, its Reflect section and its five P0 cards. Beyond the ask: the two guard fixes, which the lesson panel found. Session: local_1b552554-ec6a-42f7-9a92-d4db36d2d438 Plan: docs/plans/2026-10-24-issue-triage.md
… round 1 natamox said all three pages are ready to test, so they leave Held pages for Sessions with the number, tester and browser they held. Date and find go to Sin on the iPhone and suggestion to natamox in Chrome. The schedule, scope and brief counts follow: 120 sessions and nine held pages. Beyond the ask: none. Session: local_3cc6e510-e427-4247-99e0-81e361ce4c00 Plan: docs/plans/2026-10-19-sweep-r1.md
natamox asked to run both sessions, so they move from Sin to natamox and keep their number and browser. The schedule moves their 16 session minutes and two find-note minutes with them. Beyond the ask: none. Session: local_3cc6e510-e427-4247-99e0-81e361ce4c00 Plan: docs/plans/2026-10-19-sweep-r1.md
The knowledge page at Cp3hdNMXy9EvTQR7MQaNu3 no longer opens, so the subject's Page: line points at a new page, 2DJZ9eDVACXLPG6BJ29kXy. The research loop plan records the move as a Defaults row whose word, "drop the new page", reverses it. Its decision log gains the ship rows for the cross.mjs sync land and this move. Beyond the ask: nothing. Shipped fast, no review. Session: local_3b346f54-b80a-48ae-817e-84a5fd143386 Plan: docs/plans/2026-10-24-research-loop.md
…opens Syncs dotai 85392bf. When a plan page's publish fails because the page was deleted, or another claude.ai account owns it after an account switch, the lead now makes the new page without asking the owner. - .claude/settings.json runs `page-stop.mjs --hook` as a PostToolUseFailure hook on Artifact. On the tool's not-found error it tells the lead to rerun the page-stop command with --new. - page-stop.mjs prints that rerun beside every publish to a recorded link. --new names the link it replaces and records it as gone for every worktree of the clone, so the next publish goes to the new page instead of making another while origin/next still names the dead one. - The plan-page skill and rules/pages.md say to run --new without asking, and the rules table pairs that rule with the hook and the tests. - The pstack subject page moves to a new link, because the previous one was not found after an account switch, and the triage plan's Defaults row names the old and new links. Beyond the ask: the plan-page render stops listing other worktrees' Page: lines, and step 8 drops the route that read them, because most of those lines were dead links and pages.md already sent the lead to --new. Session: local_1b552554-ec6a-42f7-9a92-d4db36d2d438 Plan: docs/plans/2026-10-24-issue-triage.md
Step 3.4 of the research loop plan asked whether telling every workflow to start from `pnpm kb` gives better answers. It ran four questions, two fresh read-only sessions per question and arm, and a blind grader scored them against 58 keys. Arm A, without phase 3's lines, scored 46. Arm B, with them, scored 44, so the plan's pass rule failed and phase 3's lines come out of research, Plan, Verdict, Bug fix, Perf issue, best-api and sweep triage. Agents in Claude Code and Codex are no longer told to open each workflow with the lookup. Anyone can still run `pnpm kb`, which is unchanged. Research still runs one `pnpm kb discover` search per new task or verdict, adds each repo it reads or skips to `docs/research/repos.tsv`, and writes findings and rejected leads to the area page. Bug fix and Perf issue point at every part of the split plate-notes pages. The plan closes, and `docs/plans/topics/knowledge.md` now holds the layer's current state, its prior art and its open work. Beyond the ask: the revert keeps research's search, repo rows and write-back, which the trial never ran, because phase 1's freeze leaves research no other committed home; restored lines that pointed at the frozen run folders now name the area pages; and `docs/research/schema.md` gets back the run-ledger sentence phase 3 cut. Session: local_ae687136-56d8-4673-b635-769cd64a2c01 Plan: docs/plans/2026-10-24-research-loop.md
The research loop plan's decision log gets the ship row for a440862, which landed step 3.4's revert and the plan's close, so the log records the commit and the check run that carried them. Beyond the ask: none Session: local_ae687136-56d8-4673-b635-769cd64a2c01
…t once Two peers editing a paragraph that holds a link could both end with two copies of it. The editor keeps an empty text on each side of a link, but storage often lacked one: a joining peer's import deleted it, inserting a link never wrote it, and a split could leave a line without one. Every reader that pairs stored and editor children by position then refused the paragraph and rewrote it whole, and two concurrent rewrites both survived. Neither Yjs import deletes a text inside an element any more. Before a local edit is written to storage, the binding writes an empty text into each gap of the blocks the edit touches, and after an edit that adds or removes nodes it does the same for the result before the caret is published. In a schema with content roots, whose root rewrite compares every block, it fills every block before that rewrite. It deletes no text, and it skips a block it already checked until a peer's update does more than type into stored texts. A link inserted after an empty text lands after the stored empty text, so adding and removing links no longer stores one more empty text each time. A read inside a lowering finds each referenced node through the root's index instead of walking the document. The core correction drops an empty text beside an inline where a lettered text shares its run, and a caret at the start of a lettered text stays in that text. The saved rich-text playground loses its empty text after the suggestion link, so its comment range moves one child left. Beyond the ask: typing beside a link now survives a teammate's join, Enter after a link reaches every peer, a caret beside a link a teammate just inserted publishes, two peers removing pieces of a split link leave both removed, and every editor drops an empty text beside a link where letters share its side. Enter while a teammate types at the start of the text after it still loses that letter, as before. A document saved by an earlier beta loses such an empty text when it loads, so a comment range saved after it in that paragraph points one child too far. Session: local_a33882c1-c5eb-4565-a740-d3803d4b74dc Plan: docs/plans/2026-10-24-collaboration-empty-text-runs.md
The paired-timing runner printed a verdict while a planted arm read 31% away from the slowdown it planted, so the line measured something other than the plant. Each planted arm now names the ratio its slowdown plants, which must be past the budget. A cohort whose planted arm reads further from that ratio than the ratio's distance to the budget plus the same-code noise is inconclusive. The benchmark rule, its methodology and the enforcement table say so. The plan of the Yjs link race fix gains its reflect record and two Open work items. Beyond the ask: the benchmark rule drops two sentences about a host load limit, which the runner already refuses. Session: local_a33882c1-c5eb-4565-a740-d3803d4b74dc Plan: docs/plans/2026-10-24-collaboration-empty-text-runs.md
… calls Each triage record now saves the GitHub login gh is signed in as. A record by a login outside triage.owners in .agents/pstack.json, today only zbeyens, reads unconfirmed until an owner records the issue again, so the owner checks every call another person's session makes, its priority included. pnpm triage queue lists unconfirmed issues only for an owner, because a contributor's own records would otherwise come back in their queue on every run, and labels keeps the triaged label off them. show prints who opened each issue. Beyond the ask: none Session: local_1b552554-ec6a-42f7-9a92-d4db36d2d438
The research loop left three cleanup lists and three rule ambiguities in the knowledge subject's Open work. Codex readers sorted the 438 rewritten or removed old compiled units against HEAD. The 12 that needed restoring repeat five claims about LSP, VS Code providers, EditContext and lightweight textareas, and each one is checked at a pinned clone and written to its area page. The other 425 units differ only in pins or spacing and are dropped. The four stale pages the trial named now match the code. The fifth item, collaboration.md, was right as it stood. Of the 28 old compile findings, 20 close here: public docs (DOCX install, editor.read inside an update, readonly type listings, the history policy check, tx.value.replace resetting history, schema.content.open, image URL paste, with their Chinese twins), research and subject pages, moot ones and ones already fixed. The other eight need code, tooling or data work and stay in the knowledge Open work. Rules, for Claude Code and Codex sessions alike (both runtimes smoked over four rounds): - A session in a worktree clones a missing repository beside the main checkout, never into .claude/worktrees. - An R5 sweep session loads research with the round plan's comparison as its question. It writes each editor's facts to that editor's area page and cross-editor comparisons to editor-architecture/. Each gap stays a find that Triage sends to verdict. - An open design question becomes a chips decide task only when chips.md's Offer allows one, and otherwise goes where Offer lists unofferable findings. An evidence or contradiction gap stays an open question on the page it blocks. Committers lose nothing. Docs readers get an import command that installs jszip and an editor API page that matches the types. Beyond the ask: verify.mdc's Sweep line now names running a sweep session. research's maintain mode routes a setup-defect task through chips' Offer. The DOCX home README names its existing page, and that page's dead related link points at the imports subject. Session: local_3b346f54-b80a-48ae-817e-84a5fd143386
pnpm triage record refused a session that may not record before it read a single row. A session at the wrong model or effort could triage and draft, but it could not learn whether its batch would pass. record now checks each row's issue number, columns and detail before any fetch or session check, and a dry run that the session check refuses says how many rows passed. The Triage playbook's Who records says a session that cannot record still checks its batch this way. Beyond the ask: the whole change, a workflow fix the P0 triage run needed because its session may not record Session: local_1b552554-ec6a-42f7-9a92-d4db36d2d438
natamox's retest of /docs/date and /docs/find on 2026-10-25 kept one find: the date calendar ignores the first Escape and the first click outside it, while platejs.org closes on the first. natamox published it as #5317. A click on the date sets a flag that only a press on the date clears, so onOpenChange drops the next close. The date domain holds only this P2 kind, so it gets no task. Beyond the ask: the find bar that covered its match on /docs/find goes to Not bugs yet, and the caret-less click below the text, which looks like #5227, goes to Open work with natamox as owner. Session: local_3cc6e510-e427-4247-99e0-81e361ce4c00 Plan: docs/plans/2026-10-23-sweep-loop.md
The full triage reads each open udecode/plate issue in the queue and records one call per issue in the register. A fix run can then start from each issue's scope, priority, owner lines and missing test, or from its spec question or the repro it still lacks. This commit holds the native, clipboard, editing, selection, authored-review and documents groups. Beyond the ask: none Session: local_0a6831be-5f8a-400f-85cc-d51ccf1907e5
The full triage records one call per open udecode/plate issue in the register. This commit holds the history, collaboration, pagination and drag-and-drop groups. Two v1 reports, the Yjs selection hook and the dnd-kit handle caret, wait for a repro on next, because next rebuilt the code they name. Beyond the ask: none Session: local_0a6831be-5f8a-400f-85cc-d51ccf1907e5
The full triage records one call per open udecode/plate issue in the register. This commit holds the API and UI groups and finishes the queue, so every open issue it lists now has a record. One v1 table report waits for a repro on next, because next's editable no longer has the DOM point error it names. Beyond the ask: none Session: local_0a6831be-5f8a-400f-85cc-d51ccf1907e5
…ister `pnpm triage labels` prints the commands that make GitHub match the triage register. It now also sets the org's native Priority issue field from each current kind record (P0 Urgent, P1 High, P2 Medium, P3 Low), and it adds or removes the needs reproduction, duplicate and enhancement labels so they match each current record's outcome. It reads the field and each issue's value through batched GraphQL and looks up the field and option IDs by name. When the org lacks the field or one of its options, it refuses before it prints anything. It still runs no write. The triage playbook's Drafts section now says what the command syncs. Beyond the ask: REOPEN_BATCH is now GRAPHQL_BATCH, because both GraphQL reads use it. Session: local_0a6831be-5f8a-400f-85cc-d51ccf1907e5
… the issue A triage comment that restates the issue's own cause, or only confirms it, adds noise to a public issue. The triage playbook's Drafts section now says a kind record gets a comment draft only when triage found something the issue lacks, such as a cause the issue left untraced or a different owner. Otherwise nothing is posted, and the triaged label and the Priority field carry the call. Beyond the ask: none Session: local_0a6831be-5f8a-400f-85cc-d51ccf1907e5
A triage comment on a bug should let a person or an agent start the fix without tracing the cause again. The triage playbook's Drafts section now says every draft follows technical-writing and links each code location to a permalink pinned to a commit, because line numbers on next drift. A bug comment has up to four bold-led parts: Cause with its linked code, Not traced, Open decision and Test as numbered steps with the expected result. It leaves out any part that has nothing to say. Beyond the ask: none Session: local_0a6831be-5f8a-400f-85cc-d51ccf1907e5
When accepting every pending suggestion leaves a root or a quote short of lines, the review preview adds empty lines that nothing stores. The recorder matched stored lines to preview lines by shape, so a letter typed at the end of a line a pending join pulls up landed in the empty line below it, or the framed law threw, as in PR 5218 and in a root that needs three lines with two joins. The preview also drew a caret stored at the end of that line in the empty line, one line below where edits act, and a plugin write after such a line stored a document that accepted to something else. The resolver now hands the map the lines it built, and the map sets them aside before it matches, so typed letters stay in the joined line with the caret after them. The preview draws a caret in an added line only while its own placement there stands, and edits at that caret act on the line above. The ledger compares every window that held an added line with what the commands wrote and refuses a mismatch as diverged, or reordered when only the order differs. Accepting may drop added lines left over at the end, so Enter at the start or end of a joined line and a two-line paste at its end split the line. A write inside an added line records that whole line, so a plugin write that types there and then adds or moves a line records what the editor showed. Beyond the ask: the preview's caret rule for added lines, Backspace at a caret placed there deleting the last letter of the line above, Enter and paste at a joined line's start or end now recording, and the refusal of three writes next stored, each found by this work's diff panels. Session: local_064bce27-9b78-411a-b33b-bea4f86194d4
…ed subject The framed-recording, joined-line-end and added-line caret plans landed in 6a059d1 and 90166d7, so each now has its Close and reads executed. The authored subject gains their rules: completion's struck element, the join that reads pending content, and how the preview, the recorder and the ledger treat the empty lines a preview adds. It also gains the added-lines layer row, the alternatives the plans rejected, the ProseMirror changeset reading and their open work, and it drops the item for the two recording laws that t_820a6175 fixed. Beyond the ask: none Session: local_064bce27-9b78-411a-b33b-bea4f86194d4
Synced from udecode/dotai ed87f9c6. cross.mjs now reports a runtime still running at its deadline as "no answer within N seconds", followed by the last lines it printed, whatever it exits with once stopped. A panel seat that exited 143 on SIGTERM used to read as "exit 143", and one that wrote an answer while stopping read as a success. A runtime that fails before its deadline keeps its own exit code and output. Claude Code and Codex leads both gain it, in every panel round seats.mjs runs and every cross.mjs call. Beyond the ask: none Session: local_064bce27-9b78-411a-b33b-bea4f86194d4
The added-line caret plan gains its Reflect section: four Backlog items for the owner and the findings the lead rejected, with each reason. Its Deviations now give the base and head timing of the React caret test whose cases timed out while landing: about 6% slower at head, with its slowest test far under Vitest's deadline. Beyond the ask: none Session: local_064bce27-9b78-411a-b33b-bea4f86194d4 Plan: docs/plans/2026-10-25-authored-added-line-caret.md
90166d7 shifted the code both records cite, so their records went stale and `pnpm triage labels` skipped them. The cited blocks are unchanged, so each issue keeps its call: #5194 stays P1 at record.ts:3413 and ledger.ts:1256, and #5274 stays P0 at authored.ts:2075 and authored-changes.tsx:604. Beyond the ask: none Session: local_0a6831be-5f8a-400f-85cc-d51ccf1907e5
A full triage run ended with records and labels but offered no fix runs, so its calls never reached the chips board. Only the sweep offered one fix run per domain. The Triage playbook now owns that step and the fix it leads to. Once records land, each domain with a P0 or P1 kind gets one fix-run task through chips. `triage fix <domain>` runs one Bug fix run over the domain's issues, and a redesign run when two kinds share an owner. The miss-class table moved from sweep.md into the playbook, because triage assigns the classes and the fix run closes them. sweep.md keeps the rounds, the tester and fixer handoff and the tier order between domains, and links to the playbook for the rest. A read-only smoke ran in Claude Code and Codex. In both, a full-queue request routed to the offer step and an area request to one grouped fix run, and a single-issue report stayed on the Bug fix playbook. Anyone who runs triage in either runtime now gets the offers, and the sweep's fixer runs `triage fix <domain>` in place of its own steps. No entry point was removed. Beyond the ask: from the smoke's findings, an issue an open task already names stays with that task, so a domain task never repeats one, and a task's own issues stay in its group even when they belong to another domain. The Fix steps also say what a session that cannot record does, because a domain task at high effort cannot write records. Session: local_0a6831be-5f8a-400f-85cc-d51ccf1907e5
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.