Skip to content

Correct GOALS.md, PLAN.md, PROJECT_STATE.md and IRREDUCIBLE_SURFACE.md — audit found them materially stale #827

Description

@JDonaghy

Problem

A four-agent audit of develop @ ee26268 (2026-09-04) found the project's planning documents materially stale. Because GOALS.md is the standing objective every agent plans against, and docs/IRREDUCIBLE_SURFACE.md is what planning treats as fixed constraints, wrong entries actively misdirect work.

Per feedback_coordinator_docs, session docs are the coordinator's to write — this issue exists so the corrections are tracked, not so any agent edits them ad hoc.

Corrections required

GOALS.md

§3 "#47 was closed without its blocker" is stale. It says "No open quadraui issue mentions modal_stack_handle or drag_state_handle" and lists filing it as "the single most actionable item on this page". In fact:

§2 "the duplication moved down a level, into quadraui" is largely refuted at vimcode's own pinned rev:

Claim Reality at pin 42e0f8f
EventOutcome declared twice verbatim Declared once — quadraui/src/runtime.rs:95 (quadraui#496, closed 09-02)
shell_runner 45 identical lines ×2 Four runners of 4–7 non-comment lines each, all delegating to shared shell_adapter.rs::build_shell_adapter
1,671 byte-identical lines gtk↔macos Function-level duplication is ~85 lines. quadraui#481's own correction comment (09-03 17:45Z) withdrew the headline number as "idiom coincidence"
UTF-8 fix: 7 private copies, 0 public Public since 2026-08-15text_util.rs:51-107, re-exported from lib.rs (quadraui#503)
gtk_tree_layout/mac_tree_layout twins Both 1-line wrappers over primitives/layout_metrics.rs:60 tree_layout (quadraui#499, 09-02)
"no desktop/" quadraui/src/desktop.rs exists (754 lines) since 09-02 (quadraui#498) — the audit grepped for a directory
#482 "holds the mass" All eight children #503#510 are closed. #482 has zero comments and is a hollow epic

Still true: macOS dispatches WindowResized undebounced (macos/run.rs:544-561) while TUI/GTK use the shared ResizeDebouncer.

§ "the post-#735 audit" under-attributes the backend reduction. Of the −3,656, about −2,825 is #731/#732 dead-code removal. Convergence proper moved roughly 900 lines out of the backends while render.rs absorbed ~7,000. State that plainly — the current text implies the chain converged more than it did.

Regenerate the size table. Measured at ee26268 with scripts/prod_lines.py: src/gtk/ 2,607, src/app.rs 7,131, src/tui_main/ 10,366 (backends 20,104), src/render.rs 21,405. The src/gtk/ column in the current table (9,650) predates #785's move.

docs/IRREDUCIBLE_SURFACE.md

The folder-picker verdict is wrong (:24). It records the TUI-only folder picker as irreducible because GTK uses a native GtkFileChooser. quadraui::compose::FolderPickerController has existed since 2026-05-25 and its module doc explicitly instructs vimcode to remove the local copy and rewire both backends. Strike the row and note why the verdict was wrong — the aggregation did not check upstream.

Add a caveat about the unit_w/unit_h seam. The doc blesses FrameMetrics as the one unit seam; in practice the convention appears in 7 painter signatures across 33 uses, and render.rs additionally carries two explicit char_width > 1.0 backend sniffs (:10426, :17256) and five paired per-backend policy tables. Record the real state.

PROJECT_STATE.md and PLAN.md

Both repeat the "#47 blocker filed nowhere" claim and the 44-call-site figure. Correct both.

Acceptance

  • Pure documentation change — may be committed directly to develop per CLAUDE.md, no branch required.
  • Every corrected number regenerated with scripts/prod_lines.py / scripts/native_lines.py and cited with the revision it was measured at, per GOALS.md's own "regenerate, do not trust a number typed into prose" rule.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    coordTracked by coord-tui pipelinedocumentationImprovements or additions to documentationstatus:readyRefined and ready to enter the work pipeline

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions