Skip to content

docs(readme): claim 26 module points with a demo and a risk per module - #197

Merged
vjan-nie merged 3 commits into
developfrom
docs/readme-more-modules
Nov 5, 2026
Merged

vjan-nie merged 3 commits into
developfrom
docs/readme-more-modules

Conversation

@vjan-nie

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

Copy link
Copy Markdown
Contributor

Why

The subject asks for 14 points, and bonus points stop at 19. A module that fails live scores zero, so the README should claim more than 19, and only what we can defend. Each claim also needs the demo and its risk written down. This PR follows #187 (merged), which took LESdylan's 10 modules (16 points).

What was added, and why each one holds up

LESdylan's 10 modules stay as they are. Added (codes W6/U4/U5/I2/I5/D4 follow the subject's order within each category, the same way LESdylan's codes do. The subject is not in this repo; please check the codes against the team's copy):

Code Module Pts Evidence at groot main's pins Risk
Choice Contract-driven app factory (Major) 2 grobase selfserve_apps.go:55-58, m176/m177 (static in CI) medium: needs APPS_SELFSERVE_ENABLED
Choice SSRF guard on the HTTP engine (Minor) 1 classify.rs:90-155, adapter.rs:57-61 (pins the checked IP); rust-data-plane + Engine conformance (http) medium: live mount demo unverified on the default edition
U5 Organisation system 2 osionos bridge-workspace-* routes, mounted with no flag check (bridge-account-mounts.mjs:72); 7 bridge tests low
U4 Advanced permissions 2 bridge-roles.mjs:28-29, page access, share rules; mounted with no flag check (:75) medium: no test of the per-role views
I2 RAG 2 retrieval/search.ts, rerank.ts, HNSW migration; AI-service CI high: the large-dataset proof is a recorded measurement
I5 Content moderation 1 bridge-moderation-gate.mjs:70, moderation/l1.ts:99; 4 + 5 tests medium: AI profile + two env vars

Module-of-choice points total 3, the cap. Public API (W6, 2) and Health/status + backups (D4, 1) are listed as stretch, not counted. 2FA and GDPR are not claimed (runtime bugs, kept in Known limitations).

The Modules table now has: code, module, type, points, how we demo it (stack + what to switch on), main files, tests → CI job, risk. The old Evidence table is merged into it. The "Three modules need the deployed stack" warning in Instructions is updated to match.

Risks — read this first

Points
Claimed 26
Low risk 12
Above 19 if every high-risk module fails +3
Above 19 if every medium- and high-risk module fails −7 (and 2 short of the 14 required)

The margin depends on the medium-risk modules: they need their switches raised and rehearsed before the defense. One switch, --profile ai, carries I3 + I2 + I5 (5 points), which fail together. W12 and W13 (LESdylan's) are rated high because neither the README nor this PR cites evidence for them.

Overlaps checked, nothing dropped: W1 replaces W2/W3 (not claimed); D3 vs the factory (same control plane, different requirement and evidence); U5 vs U4 (different files); W5 and U1 both cite bridge-account-profile.mjs (kept as claimed).

Evidence

  • All cited paths exist at groot main's pins (grobase 21c132b6, osionos 735c40fd, opposite-osiris 34237735): git cat-file -e <pin>:<path> for each one, all OK. Line refs re-read; m102 moved to grobase ci.yml:934.
  • markdownlint-cli2 v0.14.0 (Docker): develop 53 findings (MD013 ×52, MD041 ×1), this branch 59 (MD013 ×58, MD041 ×1). The +6 are all table rows. No new rule fires, and no prose line is new.
  • Links/anchors (Docker, python:3.12-slim): 50 internal links checked, 0 bad, exit 0 (develop: 42, 0 bad).
  • Points re-add from the table (Docker): rows=16 total=26 risk={low:12, medium:10, high:4} choice=3 dup_codes=0, exit 0.

Keep LESdylan's 10 modules (16 points) and add the module-of-choice
app factory (2) and SSRF guard (1), Organisation system (2), Advanced
permissions (2), RAG (2) and Content moderation (1). Each row says how
to demo it, on which stack and with what switched on, and rates the
risk of a live failure, because a module that fails live scores zero
and bonus points stop at 19.

Public API and Health/status + backups are listed as stretch, not
counted. 2FA and GDPR stay out, in Known limitations.
@vjan-nie
vjan-nie requested a review from LESdylan November 5, 2026 16:56
@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: b145f6f6-49d7-461d-8811-710795aeade4

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

Conflict in README.md, Modules section only: develop's 4eedf90
(danielfdez17) added a separate modules-of-choice table. Kept this
branch's single table and folded in develop's additions, re-checked at
groot main's pins: the cargo test SSRF demo (run from
src/data-plane-router, the cargo workspace), http/mod.rs:90 and its 30
tests, the live-proof branch for m176/m177 (#177), the risk of the SSRF
minor being counted as part of the data plane, and wiki/DEFENSE.md.
Dropped "provisioned this way in production" (unproven) and the commit
counts (the Features table already carries them). Who is stated per
module of choice.
W12 Design system: @osionos/ui (36 components, 94 tokens, 5 test files
in osionos-ui CI, green at the pin). Medium, not low: its tests run only
in osionos-ui's CI, the icons are Lucide, and no token sets a font family.

W13 Advanced search: search, filter, sort and paging in the database
views, with canvas, bridge and Playwright tests in osionos CI, green at
the pin. Low.

Totals: low 13, medium 11, high 2; +5 above 19 if every high-risk module
fails, -6 if every medium- and high-risk module fails.
@vjan-nie

vjan-nie commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

@danielfdez17 Merging develop into this PR conflicted with your 4eedf90 (#196) in the README's Modules section. I kept this PR's single module table and folded your additions into it rather than keeping a second table. Please check the result before this merges (commit 067e3c6):

  • Kept from yours: the cargo test -p data-plane-pool ssrf_blocks_internal_and_metadata_ips demo, http/mod.rs and its 30 tests, the live-proof branch for m176/m177 (Modules of choice: their proof gates (m176, m177) never run in CI, and grobase CI on main is red #177), the warning that the SSRF minor may be counted as part of the data plane, and the links to wiki/DEFENSE.md.
  • Changed: the cargo test demo now runs from apps/grobase/src/data-plane-router. That directory is the Cargo workspace; apps/grobase has no Cargo.toml at the pinned 21c132b6. wiki/DEFENSE.md still says "From apps/grobase", and I didn't edit it.
  • Dropped: "provisioned this way in production", which nothing in the code proves, and the per-row commit counts. Your self-serve count (33) and the Features table (32) disagree, so the Features table stays the one source. Who built each module of choice is now stated in its justification.

@vjan-nie
vjan-nie merged commit e6bfad0 into develop Nov 5, 2026
20 checks passed
@sonarqubecloud

sonarqubecloud Bot commented Nov 5, 2026

Copy link
Copy Markdown

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