ConnectOnionConnectOnion

REM a22: independent AI founder and UI review

2026-10-03. An AI reviewer took the role of a technology founder with marketing and UI experience. No human founder participated. The review used actual rendered local pages on 1440 px desktop and 375 px phone viewports. Private trial content and screenshots remain in the owner's protected REM trial area; the images here use an invented notebook fixture.

What was inspected

  • An automatic eligible project page, including its first screen, full note, numbered Sources, source dialogs, and phone sticky header. The first trial attributed generic release requests to the project; a second trial was rendered and reviewed after the source rule changed.
  • An explicitly requested private project page at desktop and phone widths, including its source dialogs, source hiding state, README claims, Started field, current finding and coverage note. One sampled 730-day trial read 561 of 893 matching archived inputs. A later accepted seven-day trial supplied 55 of 893 and opened 10 of 11 cited rows; its wrong-project claims are recorded below. The next candidate was rejected. The accepted v10 seven-day page supplied 55 of 893 and opened all five cited repository snapshots; it had no current project-specific Insight.
  • A fresh v11 seven-day project page at desktop and phone widths: its progress Facts stayed Unknown, but its current finding again misassigned an unnamed reply-listener follow-up from a session that previously named another product. This is a failed semantic sample. V12 removed the bad input but promoted an old file note to current work. V13's first screen, Full memory, three source dialogs, privacy state and phone Browse were independently rechecked after the zero-input rule.
  • Two newly investigated person pages from a 730-day isolated map: the first screen, action banner, full memory, cited mail and coding-input dialogs, and Hide labelled passages state. The sampled pages' cited originals were available after the retained-input fix (6/6 and 8/8).
  • The category sheet in default, filtered, hidden and scrolled states; record default, hidden, full memory and source-dialog states; and mobile Browse/search. Browser checks found no document or dialog horizontal overflow in the sampled states.
  • The Skills category and one catalog Skill page, including first screen, Full memory, Sources dialogs and privacy state, at desktop and phone widths. Its old page opened only one of three Sources rows. A fresh accepted page opened both of its retained originals after the source fix. The other mapped Skills were not audited.
  • The documentation site's local production build at /rem, /releases, /releases/1.9.0a22, /cli/rem, /evidence/v1.9.0a22, /blog, and the a22 Design Journal article on desktop and phone. The reviewer clicked the review and source links, release copy buttons, phone menu, all five public fixture images, and the blog Copy button. These were reviewed locally before the package and documentation release.

Findings and rechecks

On a phone, swipe the table left to read the Change and Recheck columns.

Priority User impact and evidence Change Recheck
P1 Automatic project v1 treated generic release requests from a shared working directory as project progress. A reader could infer the wrong current work. Require a distinctive project, package, component, file, version or behavior match before using a session request. Auto project v2 removed the generic release narrative; its first-screen mismatch is backed by repository and session sources.
P1 One private project and one person page cited live coding inputs absent from the older mapped database. Their original-source dialogs could not open. Retain only cited user inputs from an accepted investigation in the private state and resolve them in the reader. Private project v4 opened all five cited originals; both sampled person pages opened all 6/6 and 8/8 cited originals, including the formerly missing input. Input-only scope remained visible.
P1 Private project v5 cited investigation:project-inventory for file names. That item lists candidates rather than file contents and has no original-source dialog. Writing guidance now forbids that citation; page validation rejects it and asks for a repository snapshot or an unresolved fact. Unit validation rejects the inventory citation. The v5 trial remains a recorded failure for source completeness (7/8 openable), not a passing source audit.
P2 A seven-day v8 project page put a source-collection absence note in Uncertainties and cited investigation:coverage. That is a run limit, not an original about the project, and the row has no dialog. Keep search-window limits in the run reply, omit coverage from project writer evidence, and reject a project page that cites it. V9 tried to cite coverage again and was rejected without changing the notebook. A later accepted page has no coverage citation in Sources or subject prose, while its run report still states the window. V8 remains 10/11 openable sources.
P1 Private project v8 attached short missed-reply and remote-login follow-ups to this project. Earlier in that same coding session, the user had named a different product. The 7-day writer packet included the short follow-ups but omitted that earlier explicit input because its folder differed. A reader would see the wrong status, last activity and next action even though each quoted sentence was exact. For unnamed inputs, require a distinctive project match or a supplied, earlier same-session subject anchor; otherwise leave project status and open work unassigned. The source selection boundary remains tracked in #2195. Fresh v9 page omits all unrelated follow-ups from Now, Status, Last activity, Where it stands, Latest issues and Open threads, or includes a supplied earlier input proving a subject change. Reopen each cited original and the available same-session context.
P2 Private project v8 called tests described in a dated source-code comment the “latest verified execution result.” The source supplies a report in a comment, not an independent run record. Attribute the statement to the dated file note and avoid a latest-run claim without a run log. Compare v9's Where it stands with the cited file and inspect the original dialog on phone and desktop.
P2 Private project v8 repeated the same missed-reply statement in its OPEN banner and full hero on a 375 px phone. The partial-history boundary (55/893 inputs) started below the first fold. Remove the unrelated claim; keep the first screen focused on a project-specific finding, an independently useful action and the partial scope. On v9 at 375 px, inspect the first fold, banner, hero and scope note; the two leads should add distinct information, with no clipping or overflow.
P2 Accepted v10 removed the wrong-project lead, but its first-screen dark hero used only a checkout branch and commit date because Insight was Unknown. That can make a repository fact look like current user progress and offers no useful project orientation. When a project has no supported current insight, lead with its sourced What it is purpose and state that the supplied session sample did not confirm current work. Keep branch and commit in Facts / Where it stands; avoid repeating the purpose card. Re-render v10 at 1440 and 375 px: the first screen explains the project purpose and the evidence limit, with no commit-date claim as the main headline, no duplicate purpose card, and the partial-history note still legible.
P2 V10's Facts still used a checkout branch and commit timestamp as Status and Last activity, although Insight and Open threads were Unknown. These are repository facts, not proof of the user's current project progress. Project-writing rules now reserve those fields for a dated original tied to actual project work; keep branch and commit in Where it stands as snapshot facts. A fresh accepted v11 page leaves Status and Last activity Unknown unless a project-specific dated original supports them, while retaining the checkout snapshot with its date and source in Where it stands.
P1 Accepted v11 left progress Facts Unknown but used a one-line reply-listener input as its Now finding and Latest issues. The input had no project cue; an earlier user input in the same Claude session explicitly concerned another product and was omitted by folder selection. The page's main takeaway was misleading. Withhold unnamed project-folder follow-ups when an earlier user input in that same session used another project folder. Count the withheld items in the run report; preserve inputs that explicitly name the investigated project. V12 withheld the bad source along with 54 other ambiguous follow-ups. Its hero, Insight, issues and next action had no unrelated listener claim; all five file Sources opened at both widths. A separate old-file-as-current P2 remained and is rechecked in v13.
P2 V12 removed the unrelated listener, but its hero and Insight Now promoted a July file note about a branch to current work despite zero assigned session inputs. On a phone the old note occupied the first screen, pushing project purpose down. Supply a noncitable zero-input scope to the writer and reject candidates unless Insight and Open threads are bare Unknown. Lead the reader with the sourced purpose and 0-input limit; keep the dated note as history. V13 was accepted with both sections Unknown. At 1440 and 375 px its first screen shows the README-supported purpose and the 7-day zero-input limit; the detailed 0/893 workspace count follows. The old branch is not in the hero or a current action. Its three original-source dialogs open and support the sampled claims.
P3 The full 54.9k-character retained note in v12 is now available, but finding one sentence near character 48.7k requires a long phone scroll. Add a simple in-source find or citation location only if long cited files remain part of a main finding. V13 no longer uses that old note for its first-screen claim; its three relevant Sources are 5,282 characters or shorter. Long-source navigation remains an untested improvement for future pages.
P2 The inspected Skill page cited a 641-character instruction excerpt that ended before its three-decision threshold; its mutable skill-runs summary and carried investigation:page rows had no original-source dialog. Only 1/3 rows opened. The key instruction and run limits were hard to verify. Retain up to 16,384 characters of cited instructions and 4,096 characters of immutable run pieces. Ask the writer for skill-source / skill-reference and skill-record citations; reject mutable summary and carried-page Sources. A fresh accepted rem-abstract page at 1440 and 375 px has 2/2 source dialogs open (3,491 and 830 characters). The instruction shows the three-decision threshold; the run piece shows zero observed attempts and its scope limit. No horizontal overflow or JS errors; privacy hiding and the 44 px phone targets work. One Skill page was sampled, not all mapped Skills.
P3 V10's five numbered source rows were [1]–[4] and [6], leaving a gap at [5]. Every row opened, but a skipped number can suggest a missing source. Keep source numbering contiguous when the writer removes an unused citation. V11's seven rows were contiguous and all opened at both widths. The page still failed claim attribution because row [1] belonged to another product's exchange.
P2 Both v8 project flow diagrams were horizontally scrollable on a 375 px phone (341 px viewport inside the card; 593 px and 608 px content). The visible left portion hid step endings and outputs without a visual scroll cue. Wrap diagram text within the phone width. Re-rendered v8 at 375 px: both diagrams and their content are 341 px wide, step endings and outputs read without sideways movement, document overflow and JS errors are zero. Long arrow lines wrap and lose exact horizontal alignment, a remaining P3 typographic detail.
P1 Private project v5's Now, Where it stands and Latest issues added an event-driven listener question, while their cited live input asked only about a missed reply. The source does not support that mechanism. Project writing rules now require reopening every cited original for current findings and dropping any mechanism, cause, status or action absent from it. A separate, shorter isolated project trial must produce a current finding whose every clause is supported by its cited original; v5 itself fails this check.
P1 A shorter private project v6 removed the unrelated missed-reply claim, but its Try it reversed the documented order of two core steps while citing the README. Readers could run the workflow incorrectly. Require exact step order across Overview and Try it, with an original-source recheck; omit Try it when order is not established. In a fresh trial, compare the rendered ordered steps with the cited README and verify no contradiction between the two sections. V6 is a failed instruction-accuracy sample.
P2 The project hero led with a historical pattern while its useful current mismatch was below the first screen. The phone hero also clipped the useful text. Prefer a supported Now finding and show the full project summary on phones. Auto project v2 first fold shows the mismatch and decision on desktop and phone without clipping; fixture before/after images below show the structure change.
P2 A grouped inline citation opened only its first member, and a 640-character repository excerpt ended before the cited hook signature. Later, v12's main finding cited a 54.9k-character note whose relevant sentence sat beyond the 16,384-character reader excerpt. Give every numbered Sources row its own 44 px target; show up to 65,536 characters of a retained repository source. Sources 14, 16 and 17 opened individually in the earlier trial. In the new v12 reader preview, source [3] showed all 54,862 characters, including the relevant sentence around offset 48,747, on desktop and 375 px phone with zero horizontal overflow. The long phone scroll remains a navigation detail.
P2 A person page's 1,026-character mail original had its explicit reply request beyond the old 640-character reader excerpt. Show up to 4,096 characters of a cited mail body, marking truncation if longer. Fresh desktop and phone render includes the reply request in the source dialog, with no overflow.
P2 Hide labelled passages left an orphan period after a sensitive sentence in Full memory. Include punctuation after a privacy marker and its citations inside the hidden span. The fresh 375 px person page ends the visible relationship paragraph cleanly; the browser regression covers the marked sentence.
P2 An old README could be read as current implementation, and first observed session date could be mislabelled as project start. Require date or revision attribution for a repository snapshot and leave Started Unknown without direct evidence. The next private trial kept Started Unknown; the independent rendered-page wording check is recorded below.
P2 Private project v6 wrote Last activity: Unknown, but the reader called a mapped folder-session date “Last active” in its header and fact block. That overstates what the map proves. Label the project census date “Last mapped session” in the header, fact block, side panel and sheet. Reopen the fresh 375 px and desktop project views; the mapped date should keep its provenance and the authored Last activity should remain Unknown.
P3 A partial project pass looked complete when its input window was not shown. Show inputs read and available near the project status and on phone. The explicit partial sample shows 561/893 for a 730-day window; the automatic four-input sample was complete for its queued inputs.
P1 The first local documentation build linked the a22 review report to a file not yet included in that build, so the link returned 404. Add the public report before the final production build. Rebuild and open the report link from /releases/1.9.0a22 on desktop and phone; expect HTTP 200.
P2 The /rem expanded reference still sent readers to a20 notes, and /cli/rem called its source a published preview tag before a22 was published. The release note was hard to scan on a phone. Link to a22's styled notes, use neutral preview-guide wording, and add short release-note headings. Rebuild and inspect those exact pages and links on desktop and phone.
P2 The /releases/archive Design Journal DD-053 link resolved under /releases/ and returned 404. Point it at the existing styled Design Journal route. Open the link from the rendered archive; expect HTTP 200 and the intended decision article.
P2 The new Design Journal's inferred category was Remote Browser, although the article is about REM project attribution. Its subtitle repeated the opening sentence and the body offered no link to the evidence review or follow-up issue. A reader could misread the subject and could not verify the next step from the story. Give the article explicit REM, Memory and Design Journal tags, a distinct description, and links to the a22 review and #2195. In the rebuilt local production site at 1440 and 375 px, the category and description match the subject; the review link opens the styled report and #2195 has the correct target. No private name appears in the public article.
P3 The generated blog article's icon-only phone Copy control measured 42×44 px, below the 44 px touch target used elsewhere. Set its shared minimum width to 44 px and give it an explicit accessible name. At 375 px the button measures 44×44 px; at both widths it copies the 2,728-character Markdown article.
P2 On a fresh 375 px visit, the 300×262 px Star us panel covered co rem open and existing-notebook guidance after the release first-run jump. It also hid horizontally swiped review-table cells and /cli/rem reference text. The desktop panel covered the right edge of long content. A reader could miss a required step even though Close dismissed the panel. Show a 48×48 px star launcher after scrolling and expand the panel only when the reader activates it. Keep the panel's persistent Close action. The independent local production-mode recheck covered the release, review and CLI pages at 375×812 and 1440×900. All four install commands, review-table right cells and CLI text remained readable before activation. Enter and Space expanded the panel; Tab reached its 48×48 Close button, and Enter dismissed it. No JS errors or horizontal overflow. Recheck after production deployment.
P3 Keyboard activation of the star launcher returns focus to the page body when the launcher is replaced by the panel. The next Tab reaches Close, and the panel is nonmodal. If the panel becomes a dialog, move focus into it and add Escape dismissal. The current keyboard path can reach and dismiss the panel; recheck focus placement if its interaction model changes.
P2 After publication, the a22 release notes installed the pinned package and ran co rem open without first creating a notebook. Their install section began around document y=3,851 px on a 375 px phone. A first-time reader could open an empty result and miss the path to the promised pages. Put a first-run jump link near the title. In the install section, show co auth google or Microsoft, co rem init --days 5, then co rem open; label co rem open alone as the existing-notebook viewing path and link to /rem#start. In the local production-mode recheck at 1440 and 375 px, the near-title jump landed on the install heading, the exact a22 pin came before auth, init and open, the existing-notebook path was separate, and /rem#start worked. Recheck these on the deployed page.
P2 The shared phone docs header's “Copy page as markdown” target measured 74×30 px on /rem and /cli/rem, small for touch even though clipboard copying worked. Give the shared control at least 44 px height and width without widening the header past 375 px. In the local production-mode recheck, both routes measured 74×44 px at 375 px, copied the correct Markdown and had no overflow. Recheck on the deployed pages.

Public visual evidence

The first five screenshots use only tests/fixtures/rem_reader_notebook.py and invented content. The last two capture public documentation pages. They show structure and interaction, not private trial claims.

State Evidence
Earlier desktop project before-project-desktop.png
Earlier phone first fold before-project-phone.png
Current desktop project project-desktop.png
Current phone first fold project-phone.png
Source dialog on phone source-dialog-phone.png
Release first-run commands on phone release-first-run-phone.png
REM phone Copy control rem-copy-phone.png

Limits and next recheck

The 730-day metadata-only trial completed in 989 seconds and mapped 382 people, 30 projects and 79 organisations. It left 326 people queued; two sampled person pages do not establish the quality or affordability of the remaining queue. The default mapping window stays 90 days. Issue #2176 tracks resumable history and the cost path.

The v5 private project is not a source-completeness or claim-accuracy pass: its candidate file inventory citation and unsupported event-driven clause were found after that trial. A future accepted project page must cite a retained original for every new claim, and a reviewer should reopen every numbered Sources row. This review sampled relevant page types and states; it did not inspect every mapped page, every provider thread or every screen in the application.

The shorter v6 trial read 138 of 893 archived inputs and removed the unrelated missed-reply claim. It still reversed the source's workflow order in Try it and used investigation:page for an old Paths bullet (5/6 openable sources). It is another bounded failure sample, not a full-history quality pass. A seven-day v7 candidate omitted the required Open threads heading and was rejected without changing the notebook. It omitted the uncertain Try it instead of reversing instructions and did not cite the candidate inventory or old page. The project writer now explicitly retains Open threads as bare Unknown when no current exchange is supported. A seven-day v8 page was accepted with 55 of 893 archived inputs supplied and all required headings present, but included one run-coverage citation with no original. V9 attempted the same citation and was rejected, preserving the old notebook; the project writer no longer receives the run coverage note. V8's ten substantive citation rows opened on desktop and phone, and the documented workflow order matched the cited snapshots. The source audit then found wrong-project session claims and a source-comment overclaim; this page is not a semantic pass. The new validator rejects the coverage source. The retained v9 candidate, rendered separately at 375 px after rejection, removed the unrelated listener and login claims and left project status and open threads Unknown. Its first-screen README finding and wrapped diagrams were readable without document overflow. That synthetic render did not carry the accepted notebook's original-source context, so its five unavailable dialogs are not a source-openability audit. V10 was accepted after the collector coverage item was removed from project writer evidence. It took 197 seconds and used 890,688 input tokens (800,768 cached) plus 8,774 output tokens. All five cited repository originals opened at 1440 and 375 px; the viewer accurately labelled dated README and source snapshots. The page did not reuse the unrelated short session follow-ups. Insight and Open threads stayed Unknown. After the reader change, its phone first screen showed the sourced project purpose and a visible seven-day sample limit; the detailed 55/893 note started near the bottom and needed a slight scroll to read in full. This is a bounded accuracy result, not a complete current-work finding. V11 rechecked checkout-as-Status and left it Unknown. V11 kept Started, Status, Last activity and Open threads Unknown, and all seven Sources opened at desktop and phone widths. It still put an unnamed reply-listener follow-up from another product's exchange in the first-screen finding, Insight, Latest issues and Uncertainties. This is a P1 semantic failure despite openable sources. The collector-level filter was then checked against the same isolated seven-day material: it withheld 55 ambiguous cross-folder follow-ups, including the bad source. V12 accepted a repository- only page with five openable retained file sources, no citation to the bad message and progress Facts Unknown. Independent review found a new P2: an old file note became Insight Now and dominated the phone first screen, while its relevant sentence was beyond the source-dialog cutoff. V12 is not a current-work or first-screen accuracy pass. The final code records 0 of 893 archived workspace inputs supplied when all in-window messages are withheld; this metadata was backfilled into the v12 isolated root after the model trial to preview the final reader wording. The source-selection and page-writing run itself did not execute that final metadata line. V12 used 850,226 input tokens (769,536 cached) and 10,329 output tokens; conservative attribution has a quality and cost tradeoff that remains open in #2195. V13 accepted on a fresh isolated root. The run directly recorded 0 of 893 archived workspace inputs supplied, withheld the same 55 ambiguous follow-ups, and left Insight, Open threads, Started, Status and Last activity Unknown. Its three numbered repository Sources all have retained originals. It used 658,132 input tokens (591,104 cached) and 9,564 output tokens. The independent 1440/375 rendered review confirmed a README-supported project purpose above the fold, a visible 7-day zero-input limit, three source dialogs with source-supported sampled claims, no unrelated listener or old branch in the lead, no horizontal overflow or JS errors, and working phone Browse and privacy hiding. V13 had one Overview diagram; no second Architecture map was present to inspect. This verifies one bounded page, not all project pages or the 893 archived workspace inputs. The Skill recheck accepted a new rem-abstract page. At 1440 and 375 px, its two retained Sources opened full relevant excerpts (3,491 and 830 characters), including the three-decision instruction and a run record with zero observed attempts. The wording distinguishes instructions from executed behavior; the phone source targets, privacy hidden state and layout passed the sampled review. This does not verify the other mapped Skills or actual Skill outcomes.

Issue #2195 tracks the remaining claim-to-source accuracy check across fresh project trials.

View Markdown source