Skip to content

docs(readme): rename to Prismatica and regrade modules on main's stack - #184

Merged
vjan-nie merged 17 commits into
docs/modules-readmefrom
docs/readme-prismatica
Nov 5, 2026
Merged

vjan-nie merged 17 commits into
docs/modules-readmefrom
docs/readme-prismatica

Conversation

@vjan-nie

@vjan-nie vjan-nie commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #182. The README was out of date on the project's name, its products, its stack, its modules and how the team works; this brings each section back to what the repositories record at main's pins.

Why

The README-R1 audit (2026-11-04) found the README still called the project Track Binocle, missed hydrawn, named the auth-gateway Go (it is Node), claimed grobase was ~70 % of the work (≈31 % by lines), graded modules against develop's pins while three Majors develop had claimed had silently disappeared, and counted contributors with mixed methods (all branches, before and after the 2026-11-04 history rewrite).

What changed, per section

Section Change
Title, Description Prismatica; naming note (infra keeps track-binocle: compose project, images, TRACK_BINOCLE_*, *.track-binocle.test, the CA file); audit corrections (Node auth-gateway, WAF in front of Kong, hydrawn, make all SKIP_SYNC=1)
Instructions Defense bring-up = git checkout main + make all SKIP_SYNC=1 (git describe on main returned v1.0.0-rc5 while v1.1.1 exists). Debian 13 cited to the born2root VM (vendor/born2root/docker/Dockerfile:14, generate/create_custom_iso.sh:120). Dropped: the 2026-10-08 trust-store transcript and the snap-revision anecdote (no record in the repo)
Team Information All five are developers; main roles (team answer 2026-11-05); a short Former members note with an acknowledgement for rstancu
Project Management "Nobody indispensable" stated as the aim; 86 % / one author over half in 17 of 18 areas / 0–22 % second approvals stated as how far we got; two-week sprints since the start (team account), with "no milestone or sprint label on GitHub" stated
Features List Every Who recounted one way (below); rows added for 2FA/passkeys, AI assistant, whiteboard; "on in the public stack" claims dropped
Modules Graded against the stack built from main; rows renumbered 1–19; row 3 (WebSockets) B; row 4 framework = React + NestJS (axum as a supporting example); three Majors from develop graded; OAuth claimed at B
Individual Contributions Counts tables recounted at main's pins; one line per member (role + areas); one team-level "Challenges and lessons" paragraph backed by three verified rebuilds; identity joins in wiki/project/contributions-method.md; .mailmap gains the SMOSTAFAH1 alias
Resources › How AI was used Generic about people (every member used chat assistants, coding agents and review bots); one line of repository evidence; states that the 2026-11-04 rewrite removed Co-authored-by trailers
License Facts only: no root LICENSE; grobase AGPL-3.0 open-core; osionos, prismatica, hydrawn, mail, calendar: no licence file
wiki 02-modules.md marked wholly Superseded (CodeRabbit #182 threads 3–4); STATUS.md and the wiki index updated; new contributions-method.md
All New prose wrapped at 80 columns (markdownlint MD013); rendered HTML unchanged

Before → after

Name: # Track Binocle — ft_transcendence → # Prismatica — ft_transcendence.

Points (free choice capped at 3):

develop README #182 This PR
Premise public stack develop's pins, local main's pins, local (make all SKIP_SYNC=1, devlean)
Catalogue 14 14 (A 6) 21 (A 6: rows 1, 2, 4)
Modules of choice 3 3 3
AI 0 6 6
Total 17 23 30
Of which A — 6 6

Row 3 WebSockets is B. New rows: 4 Framework front + back (Major, A), 5 Interact with other users (Major, B), 6 Standard user management and authentication (Major, B), 10 OAuth 2.0 (Minor, B, needs Google provider credentials).

Evidence

  • Row 3 (WebSockets), B. grobase m201-realtime-issuer ("Integration Tests", ci.yml:855) checks the /ws handshake on a running realtime, not delivery between two users, and osionos's chat browser test runs against a stub bridge. The demo (two users, one DM) works by default but no CI job drives delivery.
  • Row 4 (Framework), A. React: osionos "Browser tests" (Playwright against the served app), success in run 41935908342 at 735c40fd. NestJS (grobase src/package.json:52, src/apps/query-router/src/main.ts:30): grobase "Integration Tests" builds query-router from the pin, starts it (ci.yml:900-904) and m213 drives /query/v1/execute through Kong to it (ci.yml:917), success in run 41868218437 at 6f533a18. axum is cited as a supporting example.
  • Rows 5, 6: B. Their only evidence is unit tests with fakes (osionos Bridge/Canvas tests).
  • Row 10 (OAuth): B. prismatica pnpm test runs 5 OAuth suites, CI success in run 41876134498 at 34237735; grobase auth-api.yml:64-67 defaults GOOGLE_OAUTH_ENABLED to false.
  • Line refs. Every cited osionos file:line was compared between develop's pin d374c21f and main's 735c40fd: all identical; test-file counts identical.
  • Who method (one line): non-merge commits reachable from main's pin of each repository, through the root .mailmap, bots and AI-agent identities excluded (git -C <repo> -c mailmap.file=.mailmap log --no-merges --format=%aN <pin> -- <paths>), 2026-11-05, main = 0bef3cb3.
  • Checks, all in Docker:
  • docs(readme): back every claimed module with evidence, one grading rule #182 CI: all checks pass except "SonarCloud Code Analysis", where the analysis run itself failed; Sonar's API reports the PR's quality gate OK with 0 issues (comment). groot has no required status checks.

Answered 2026-11-05

  1. Row 3: B. m201 checks the handshake, not delivery; the chat browser test uses a stub bridge. Total 30, 6 A.
  2. Row 4: NestJS (grobase application plane) is the backend framework, axum a supporting example; React frontend. Stays A.
  3. Roles: all five are developers; roles evolved; main roles: dlesieur Product Owner, vjan-nie Project Manager, serjimen frontend tech lead, danfern3 backend tech lead, shashemi QA / quality tech lead (joined in the last part of the project).
  4. Former members: rstancu and Alex Caceres were temporary members who left; acknowledgement for rstancu's work on the osionos frontend and the QA workflow. The defense covers the current five.
  5. Project Management: no per-person specifics; planning and decisions in meetings (mostly Discord), then issues, PRs and the wiki; dedicated problem-solving meetings; TDD and DevOps practices.
  6. Challenges: one team-level paragraph. Rebuild examples verified: data plane TypeScript → Rust (grobase app-services.yml:96), Node session/email/GDPR services → Go orchestrator (app-services.yml:133,190,448), legacy second brain → graph_render (fresh-machine.yml:363). Not cited: drawnosaurus → hydrawn was a rename (5b1378ba), not a rebuild.
  7. AI disclosure: generic about people; repository evidence and the trailer rewrite kept.
  8. Unidentified authors: qwO-Owp unidentified; opencode and Space Bunny (bunny, builder) AI-agent identities, operator not identified (.mailmap no longer says "run by dlesieur"); Alex Caceres a former member.
  9. Unverified leftovers: disk sizes removed (no source); vault enrolment now the commands in wiki/runbooks/another-device.md:263-264; docker compose down → COMPOSE_PROFILES=dev docker compose down (utils/mk/common.mk:45); Mail/Calendar cite their OAuth bridge (bridge/server.mjs) and claim no run. No Features row for admin screens.

Still open, not in this PR: the wiki naming rewrite (wiki/README.md:1, wiki/product/04-repos.md:17-18, wiki/project/04-glossary.md:15), the 2 broken links in wiki/README.md, and wiki/runbooks/fresh-machine.md:13, which still cites the README for the removed disk sizes.

… from main

The README still called the project Track Binocle and described a stack
that had moved on (README-R1 audit, 2026-11-04).

- Title and intro say Prismatica; a naming note keeps track-binocle in the
  infrastructure identifiers that scripts and certificates depend on.
- Defense bring-up checks out main. `git describe --tags --abbrev=0
  origin/main` returned v1.0.0-rc5 while v1.1.1 exists, so it did not name
  the defense build.
- Description and Instructions take the audit's corrections: grobase is
  about a third of the code by lines, the auth-gateway is Node, the WAF
  fronts Kong, hydrawn is a product, make all runs with SKIP_SYNC=1.
- Debian 13 is cited to the born2root VM (docker/Dockerfile:14,
  generate/create_custom_iso.sh:120). The 2026-10-08 trust-store transcript
  and the snap revision anecdote are dropped: nothing in the repository
  records them.
Project Management claimed shared ownership that the history does not
show yet. It now states the aim and publishes how far the team got:
86 % of human commits by one author, one author over half the commits in
17 of 18 areas, 0-22 % second-person approvals in a sample of recent PRs.

Sprints are two weeks long since the start (team account); the repositories
record no milestone or sprint label, which the section says. Team
Information drops its open marker: no responsibility beyond development is
recorded for shashemi.
The Who column mixed counts from all branches and from before the
2026-11-04 history rewrite. Every row is now counted one way: non-merge
commits reachable from the commit groot main pins, through .mailmap, bots
and AI-agent identities left out.

Adds rows for two-factor authentication, the AI assistant and the
whiteboard, which are claimed modules or default products. Drops the claim
that OTP and collaboration are on in the public stack, which nothing here
verifies. Technical Stack and Database Schema take the audit's corrections
(Astro 7, no Radix import, legacy-node services, seven skipped migrations).
The table graded against develop's pins and left out three Majors develop
had claimed. Every row is now graded by the one rule against the stack
built from main (git checkout main, make all SKIP_SYNC=1, devlean).

- Row 3 (WebSockets) demos live chat, on by default (osionos
  wsTransport.ts:81); collaboration is off by default. Its A rests on m201
  driving /ws on a running realtime in grobase "Integration Tests".
- Framework for frontend and backend: A (osionos Browser tests, grobase
  Integration Tests, both green at the pins).
- Interact with other users and Standard user management: B, unit tests
  with fakes only.
- OAuth: B, needs Google provider credentials.
- Rows renumbered 1-19; the points table is recomputed with free choice
  capped at 3: 21 catalogue + 3 choice + 6 AI = 30.
…utions

Individual Contributions carried long identity notes and counts from all
branches. The README keeps the two short tables, recounted at main's pins
with the Features List's method; the joins (mailmap, rstancu, the shashemi
alias, opencode, Space Bunny, unknown authors) move to
wiki/project/contributions-method.md with the command that reproduces them.

.mailmap gains the SMOSTAFAH1 noreply address without the numeric id, which
split shashemi into two authors. Per-member feature counts follow the new
Features List; paragraphs no longer cite old module row numbers.
…facts

The AI disclosure named no tool. It now lists what the repositories record:
Claude Code with the team's kit in .claude, Gemini and opencode in osionos,
the Space Bunny agent team on hydrawn, Copilot and CodeRabbit on PRs. It
says plainly that the 2026-11-04 rewrite removed Co-authored-by trailers,
so the history must not be read as AI-free.

License states facts only: no root LICENSE, grobase AGPL-3.0 open-core,
no licence file in osionos, prismatica, hydrawn, mail or calendar.
02-modules.md's legend, letters and totals disagree with the README's one
rule (CodeRabbit on #182, threads 3 and 4). The whole page is now marked
Superseded and points at the README Modules table; STATUS.md and the wiki
index say the same.
markdownlint-cli2 (default config, no repo override) flagged more MD013
hits than develop. Every prose block holding a new line over 80 columns is
rewrapped; tables, headings and code are untouched, and the rendered HTML
is unchanged (markdown-it-py, CommonMark + tables, whitespace-collapsed).

contributions-method.md's "left out" table becomes a list, its code
sample moves a comment onto its own line, and the two new STATUS.md rows
are shortened. MD013: README 286 on develop -> 162, 02-modules 33 -> 30;
the lines still over 80 are single link targets.
@vjan-nie
vjan-nie requested a review from LESdylan November 5, 2026 07:21
@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 384d1d7a-17d2-4ee7-aff7-567c5c231086

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Team answer, 2026-11-05: m201 checks the /ws handshake on a running
realtime, not delivery between two users, and osionos's chat browser test
runs against a stub bridge. Row 3 is therefore B.

Row 4 now names NestJS, grobase's application plane, as the backend
framework: grobase "Integration Tests" builds query-router from the pin,
starts it and drives /query/v1/execute through Kong (m213). axum stays as a
supporting example. Points: 30, of which 6 A (rows 1, 2, 4).
Team answer, 2026-11-05: all five are developers; roles evolved, and the
main one of each is listed with a one-line responsibility. A short note
names the former temporary members, thanks rstancu for her work on the
osionos frontend and the QA workflow in the first months, and says the
defense covers the current five.
Per-person specifics leave the section; the evidence stays. A short
paragraph says how planning and decisions work: meetings, mostly on
Discord, then issues, pull requests and the wiki; dedicated meetings for
blocking problems; TDD and DevOps practices toward a frictionless workflow.
…unts

Each member keeps one line: main role and main areas; the two counts
tables stay. The five "Challenges: not recorded" lines and the old
team-level bullets become one "Challenges and lessons" paragraph, backed
by three rebuilds verified in the repositories: the data plane moved from
TypeScript to Rust (app-services.yml:96), grobase's Node session, email and
GDPR services retired for the Go orchestrator (app-services.yml:133,190,
448), and osionos's legacy second brain replaced by graph_render
(fresh-machine.yml:363). drawnosaurus to hydrawn is not cited: it was a
rename (5b1378b), not a rebuild.
Every member used a variety of AI tools across code, tests, reviews and
documentation. One line keeps the repository evidence (Claude Code and the
.claude kit, Gemini and opencode in osionos, the OpenCode agent team on
hydrawn, Copilot and CodeRabbit on PRs); the 2026-11-04 trailer rewrite and
"how we kept control" stay.
contributions-method.md states opencode and Space Bunny (bunny, builder)
as AI-agent identities whose operator is not identified, qwO-Owp as
unidentified, and Alex Caceres and rstancu as former members (team answer,
2026-11-05). .mailmap drops "run by dlesieur" from the Space Bunny display
name and its comment; the counts are unchanged (68 hydrawn commits still
match the "AI agent" exclusion).
- Disk: the 13.5 / 9.5 / 1.4 GB figures had no source in the repository
  (the runbook cites the README back). The row now says no minimum is
  measured and points at `docker system df`.
- Vault enrolment: the commands wiki/runbooks/another-device.md:263-264
  documents (vault42-ctl.sh keys init, keys enroll, an org admin grants).
- `docker compose down` from a plain shell: replaced by
  `COMPOSE_PROFILES=dev docker compose down`, since make sets that profile
  (utils/mk/common.mk:45) and a plain shell does not.
- Mail and Calendar: cite each repository's Google OAuth bridge
  (bridge/server.mjs); nothing claims the flows were run.
…lumns

Removing the per-person names joined two lines into one of 108 columns.
Rendered HTML is unchanged (markdown-it-py, CommonMark + tables).
@vjan-nie
vjan-nie requested a review from DjSurgeon November 5, 2026 08:28
Requirements row 13 cited the README for 13.5 / 9.5 / 1.4 GB figures that
#184 removed for lack of a source. It now matches the README (no measured
minimum) and cites only what this repository backs: fresh-bringup.sh warns
under 10 GiB free on the Docker data root (scripts/verify/fresh-bringup.sh:
34,120-122), and the 2026-10-05 VM build in Measured results passed with a
65 GB /var on a 91 GB disk.
@vjan-nie
vjan-nie marked this pull request as ready for review November 5, 2026 08:39
@sonarqubecloud

sonarqubecloud Bot commented Nov 5, 2026

Copy link
Copy Markdown

@vjan-nie
vjan-nie merged commit 4e25c0c into docs/modules-readme Nov 5, 2026
23 checks passed
vjan-nie added a commit that referenced this pull request Nov 5, 2026
394280d removed it when #184 dropped the figures from the README for lack
of a source. The README now states 30 GB of disk and 23 GB for images and
cache again (LESdylan's page), and CodeRabbit flagged the gap on #186. The
figures come from c3a80d1: docker system df on the dev VM with the stack
running, 2026-10-01. That commit already noted they were not taken from a
clean build, so the row carries that caveat.
@SMOSTAFAH1
SMOSTAFAH1 deleted the docs/readme-prismatica branch November 5, 2026 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant