Nishi Family › Compare › Manga Generation
Nishi Compare · capabilities, evidence and delivery
Manga Generation
Compare capabilities and delivery evidence. Source discovery, qualification, deployment and accepted outcomes are separate; an open contract names work still to verify.
AI manga and comic creation -- Nishi against the Anifusion-class product field AND the research bar, DiffSensei (CVPR 2025), which does layout-controlled character-preserving multi-panel generation by pairing an MLLM with a diffusion model. That is the bar R1/R4/R11 aim at, with deterministic 3D instead of diffusion luck. Each gap row WATCHES its future organ:symbol and flips live when the workstream ships it.
Overview
The purpose, declared position and evidence coverage of this domain. Source presence and completed acceptance are different measures.
Where we are. Measured and working: the generation core (swarm txt2img with deterministic pre-spend QC), the asset pipeline (content-addressed gallery, full-population ranking, image and identity judges), the character substrate (anatomy-legal posing, genome-seeded identity, real-mocap motion), page composition (landed 2026-08-13), the sovereign font, and the PDF read-back referee. Still open: the authoring surface -- styles, bubbles, script, sheets, training, video, export, canvas, sketch -- plus the research-bar gap, layout-conditioned generation. The counts sit below this line, measured at emit rather than typed here, so they cannot drift from the source.
Where we need to go. Product parity is the Anifusion-class creator loop end to end -- generate, lay out, letter, export -- with styles, sheets and training around it. The research bar is DiffSensei-class layout-conditioned, character-consistent page generation, measured on its own protocol rather than asserted.
Research bar. DiffSensei (CVPR 2025) is measured on layout adherence F1 and cross-panel identity DINO-C on MangaZero. Theirs: F1 0.727 DINO-C 0.651 (leads 5 baselines; next best F1 0.720 [msdiffusion24]). Ours: not yet benched -- R12 runs the same protocol and publishes our row.
Latest recorded release
2026-09-05 · MG22
MG22 mo_text_regions LANDED, gate 10/10 GREEN. nx_manga_ocr composes nx_reader_panels rp_rowink and rp_colink rather than growing a second ink scanner, because panel detection and text detection are the same projection machinery at different scales. The gate grades against a PLANTED ink map so the expected answer is exact arithmetic rather than an eyeball, and its anti-vacuity pair is the whole argument: T3 requires two blocks 15 rows apart to stay TWO, T4 requires two lines one row apart to merge into ONE, and no single wrong rule passes both. This rung needed NO corpus and NO GPU, which is why it was wrong of me to lump it in with MG21 CJK recognition
Release entries describe recorded changes; they do not establish that every capability passed evaluation.
31 of 45 capability source symbols found|6 of them authored stronger-claims|14 open|coverage 688/1000|adoption 12 full / 19 partial
Evidence profile — what the gaps on this board actually are
Measured by nx_swcompare_evidence, read back by nx_evprofile_lib. Every figure is a count with its denominator — there is deliberately no score, no grade and no percentage anywhere in this band, because a stored scalar is a field a seat can edit and a counted partition is not.
evidence|grounded 31/31|unsupported 0|gates green 4/4|proven able to fail 0/4|never bitten 4|green at 0/0 0|open gaps 14|of them unnamed 0|of them proof withheld 0|flips ready 5
proven able to fail counts the gates that have a RECORDED RED — nx_gate_bite mutated the gate subject, rebuilt it, watched the gate go red, and that record is inside the shared TTL. never bitten is its complement over the same denominator: those gates ran and were green, and nothing has ever shown them able to detect anything, so their green is a statement about this run and not about the gate. green at 0/0 is a separate and much weaker observation — the gate printed GREEN on a zero denominator, so its own tooth counter says it examined nothing. A gate can be green, non-zero, and still never bitten; that is the common case and it is now visible instead of implied.
partition: grounded + unsupported = 31 vs present 31 · named + unnamed + withheld = 14 vs open 14 · both reconcile
liar-kill conj=GPQN · all four conjuncts held
graded document: BUILDROOT tree, 16696 bytes · gates map: PRIMARY · stamped 2d 13h ago · source ../knowledge/status/evstamp_mangagen.verdict
| Gap class | What it is, and the work it names |
|---|---|
| FLIP-READY | A watch contract symbol is now present in the organ it named: the cell can flip on a pure data edit with no new code. These are the cheapest closures on this board and they belong before any new work. |
nx_swcompare_evidence mangagen itself and are not carried on the stamp, so this page names the classes and the producer names the rows. That split is stated rather than hidden: a count without a worklist is not actionable, and this band is honest about which half of that it is.Production map
Follow the dependencies, declared acceptance criteria and recorded priorities. Inspect source binding before treating a rank as executable work.
Ranking source binding: STALE_INCONSISTENT. Recorded priorities require current acceptance evidence and resource checks before execution.
Recorded ranking withheld
Current prerequisite graph is invalid or unavailable. Historical rank data is retained, but cannot establish a current order. Latest execution outcome is unverified.
Declared roadmap — contract, acceptance, executor, effort
| Rung | Closes with | Definition of done (pre-declared) | Executor | Est. |
|---|---|---|---|---|
| Style packs (R5) | gen_style_pack | Style rows as data; distinct styles must measure distinct -- a row that changes nothing is a defect to rewrite, never delete | Local model | 0.5 u |
| Speech bubbles (R2) after R5 | mb_bubble_draw | Bubble geometry, tails and sovereign TTF raster; overflow REFUSES, never silently clips | Organ | 1 u |
| Script to beats (R3) | ms_beats | Every script line lands in exactly one panel; the partition is printed | Organ | 1 u |
| Character sheets (R4) | mcs_sheet_emit | Legality-checked pose sweep, renders, sheet grid; identity judged per cell. Chain proven end to end 2026-08-14 (nx_body_gen makes the mesh, nx_headcrop bands it, nx_anat_sov renders, nx_contactsheet composes, nx_charjudge scores) with every argv contract written down. The sheet judges on the axes that are real for this asset and PRINTS face_axis as an honest zero: the face is absent in the geometry, not in the judge, and that belongs to the graphics lane. | Organ | 1 u |
| Layout-conditioned generation (R11) after R1,R4 | mp_scene_condition | Characters placed in-panel at generation time. Path A: per-panel camera and pose from the 3D lane through the landed compositor, deterministic. Path B: region-conditioned diffusion | Organ | 2 u |
| MangaZero bench (R12) after R11 | mz_bench_run | Run the paper's own protocol and publish our FID/CLIP/DINO/F1 row beside theirs -- a grade-1 external referee, not our own scoring [mangazero25] | Local model | 1.5 u |
| Print export (R6) | me_pdf_emit | PDF and CBZ emit; our own reader must read the PDF back (the referee already exists) | Organ | 2 u |
| Video animatic (R8) after R6 | ma_animatic_emit | Pan and zoom page traversal through the sovereign codec; vqoe and frame-score floors | Organ | 1 u |
| Training loop (R9) | lt_train_deploy | Favorites to dataset to train to deploy; the tuned model must EXCEED baseline on the same prompts under the judge panel or it is not wired | Local model | 2 u |
| Sketch to art (R10) | gen_img2img | img2img entry on the gen daemon; fidelity and quality judged | Local model | 1 u |
| Canvas editor (R7) | mc_canvas_wasm | Wasm-owned layered editor under the interop law; edit ops replay deterministically | Organ | 3 u |
Milestones
| Milestone | Rungs | Cumulative |
|---|---|---|
| M0 · Creator loop usable | R5,R2,R3,R4 | 3.5 u |
| M1 · Exceed demo published | R4,R11 | 5.5 u |
| M2 · Our row in the research table | R12 | 7 u |
| M3 · Full product parity | R6,R8,R9,R10,R7 | 12.5 u |
| Rung | Closes with | Definition of done (pre-declared) | Executor | Est. |
|---|---|---|---|---|
| Adopt the incumbent licence ruler on the manga ingest path (MG20) | asset_provenance_row | SHARED WITH modding MD9 -- this rung does NOT build a second licence organ. asset_provenance_row extends lg_verdict in nx_licgate_lib to ingested assets with source url, content sha, licence class and redistribution flag; this rung wires it onto manga ingest so a work carries provenance from the moment it is fetched. Done-rule is that a work with NO provenance row REFUSES to enter the shared tier while private use stays allowed, proven by a gate that plants a row-less work and sees the promote refused, with a positive control that must be ADMITTED so a guard refusing everything cannot pass | Organ | 0.5 u |
| CJK glyph recognition (MG21) | oc_cjk_classify | A CJK template corpus behind the landed resample-and-hamming classifier. Done-rule is a held-out page set scored for character recall against a hand-keyed transcript, published with n and the corpus size, plus a Latin control that must NOT regress | Organ | 2 u |
| Text regions on a page (MG22) | mo_text_regions | Find bubbles and free text on a page. The done-rule is the INVERSE test against our own compositor -- draw a page with mb_bubble_draw at known geometry, detect it back, and the recovered rectangles must match within a stated tolerance. That referee costs nothing because both halves are ours | Organ | 1 u |
| Translated re-lettering (MG23) after MG21,MG22 | mo_reletter | Mask the source text and re-letter through the landed bubble compositor and our own TTF. Overflow REFUSES rather than clipping, and the done-rule is a round trip where a re-lettered page is re-detected and re-read back to the same string | Organ | 1.5 u |
| Content rating as data (MG24) | mr_rate_row | A rating row bound to the ASSET at emit, never to the account. The gate proves a family-tier viewer cannot be served an adult-rated asset from the same store, and that an UNRATED asset is treated as gated rather than as safe | Organ | 1 u |
| Real-person likeness refusal (MG25) | rp_likeness_refuse | A likeness request refuses BEFORE GPU spend and the refusal names which rule fired. The gate carries a positive control that must be ALLOWED, because a guard that refuses everything passes every deny test | Organ | 1 u |
| Arc completes to its stated ending (MG30) | mac_arc_complete | A story declares its ending up front and every beat is measured as advancing toward it. The done-rule is two-sided -- a deliberately circular script REFUSES with the non-advancing beats NAMED, and a known-good script passes -- so the tooth cannot be vacuous | Organ | 2 u |
| Pin the rival rating and control reads (MG31) | - | Every RATING and CONTROL cell added on 2026-09-05 gets a fetched, hash-pinned refs row whose mirror supports the SPECIFIC claim. Until then those cells stay declared UNPINNED in their section headers rather than presented as benched, and they carry no inline mark | Local model | 0.5 u |
| Wire the adult invariant onto the manga path (MG32) after MG24 | mr_adult_invariant | ws_set and ws_coherent enforced on the manga generation path. The gate is MUTATION-PROVEN the way the character lane's already is -- remove the refusal and the gate must go RED -- because a deny guard that has only ever passed is unverified | Organ | 1 u |
| Identify and catalogue a style (MG33) after MG20 | mst_style_ident | Style features measured from the pages themselves and written as a row with provenance beside it. The done-rule is DISCRIMINATION, not presence -- two visibly different works must measure different AND two chapters of one work must measure the same, because a feature set that fires the same on everything discriminates nothing | Organ | 2 u |
| Generate in a catalogued style (MG34) after MG33,R5 | mst_style_apply | The style row drives the generator and carries its source licence state forward. Done-rule declared BEFORE the run -- a render in a catalogued style must measure closer to that style than to a control style under the judge panel | Organ | 2 u |
Milestones
| Milestone | Rungs | Cumulative |
|---|---|---|
| M4 · Ingest, read and rate loop closed | MG20,MG24,MG25 | 3 u |
| M5 · Translation loop closed | MG21,MG22,MG23 | 4.5 u |
| M6 · Style catalogue and reuse | MG33,MG34 | 4 u |
| M7 · Story provably completes | MG30 | 2 u |
| Class | Count | Note |
|---|---|---|
| bars | 0 | sotabar rows on the plan |
| fresh | 0 | the bar month is the current month |
| attested | 0 | an older bar with a this-month barscan reporting no newer entry |
| stale | 0 | a this-month scan saw a newer month the bar ignores |
| unattested | 0 | nobody looked this month |
| malformed | 0 | a sotabar row missing a field |
| duplicate | 0 | bar ids an earlier row already carries |
| bars, summed | 0 | RECONCILED: the parts sum to the total 0 |
| current month | 2026-10 | the month every bar is judged against |
Inspect a rung and its prerequisites
Declared nodes 22. Rank input binding: STALE_INCONSISTENT. Dependency order is authored. Implementation, acceptance evidence, authority and resource readiness are unverified. No action is recommended or dispatched here.
Plan SHA-256 9b5bce071f0dfcff57965484e753077a86af6f295a8da7c7740d0212b57a555b. Target rows 0; role rows 0. Existing risks and release worklog retain their own scope; no node completion is inferred.
Invalid declared graph. Malformed rows or IDs 0; duplicate IDs 0; duplicate prerequisites 0; missing prerequisites 1; cyclic or cycle-dependent nodes 0. Node paths withheld.
Learning and practice paths
No structured learning path is declared for this plan. Existing research, roadmap and worklog remain available above.
Rung dossiers — every record that bears on a rung, in one place
nx_swcompare_evidence mangagen writes it beside its stamp); every gate below reads UNRECORDED until it runs.knowledge/organ_gate.conf read from this working directory (1 rows) and from the estate root (196 rows); rows in both counted once: 0; declarations read: 197. Every declaration in either copy counts, so a stub beside the publisher can never hide the root.R5 Style packs · cell WATCHING · gate NO-GATE-DECLARED
| Contract | gen_style_pack · executor Local model · 0.5 u · stands on nothing |
|---|---|
| Definition of done | Style rows as data; distinct styles must measure distinct -- a row that changes nothing is a defect to rewrite, never delete |
| Matrix cell | GEN: style-pack breadth (50+ named styles) · runtime/nx_gen.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_gen; declare nx_gen TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-05 measure Gen worker canary CONFIRMS debt 1786650261 three weeks on -- nx_gen generate returned no gpu worker available, no candidate passed its TCP health probe. The operator reports the worker is a laptop off the swarm, so this is keeper or process state rather than dead code, and every downstream organ is built and gated 2026-09-05 land TOP BLOCKER CLOSED 2026-09-05. The gen lane renders again: nx_gen generate count=1 at 832x1216 returned ms=149000 and a NEW cid private-ref:1e184ee2, which is exactly the acceptance test debt 1786650261 pre-declared -- one count=1 canary producing a new cid. R5 style packs, R10 sketch-to-art, the first generated page and the M1 exceed demo are all unblocked, and NOTHING was restarted on the laptop 2026-09-05 retract THE THREE-WEEK DIAGNOSIS WAS WRONG AND SO WERE TWO OF MINE. Debt 1786650261 said a stopped swarm/laptop GPU worker, remedy restart the worker plus keeper. FALSE. The laptop had moved 192.168.8.192 -> 192.168.8.193 by DHCP, exactly the flap swarm_nodes.conf documents in its own header, and the row was stale. MEASURED by nx_modelprobe composing the incumbent nx_http_client: GET /v1/models at .192:7861 = CONNECT_FAIL bytes=-1, at .193:7861 = HTTP/1.1 200 OK bytes=296. Fixed as a ROW EDIT, which is what that file mandates. MY OWN TWO ERRORS, recorded because both were instrument-trust failures: first I claimed the worker was unreachable from the NAS WITHOUT RUNNING A PROBE, when nx_swarm_discover, nx_swarm_gpu, nx_swarm_endpoint, nx_swarm_heal and nx_worker_dispatch were all available and capped; then I claimed the worker was alive and the probe defective, because I trusted nx_worker_dispatch over a controlled probe 2026-09-05 lesson nx_worker_dispatch IS THE DEFECTIVE INSTRUMENT AND IT FAILS IN THE FLATTERING DIRECTION. It reported WORKER REACHABLE HTTP 200 for gpu-image at 192.168.8.192:7861 -- an address that CONNECT_FAILs -- while printing ARENA-OVERRUN prev_alloc_size=256 in the SAME output. It echoes the CONF ROW as its label rather than the address that actually answered, so it makes a dead endpoint look alive. np_probe_up was CORRECT the whole time and I overrode it. A verdict from an instrument announcing memory corruption must never outrank a controlled one, and the control is what settles it: nx_netprobe_ladder held the address fixed, varied only the bound over 500 to 15000 ms, and carried .193 UP as a positive control and .253 DOWN as a neg-control, so the probe was proven neither blind nor credulous BEFORE its verdict was believed 2026-09-05 lesson THE TIMEOUT HYPOTHESIS WAS REFUTED BY THE INSTRUMENT BUILT TO TEST IT. I expected the 2000 ms bound in np_probe_up to be the cause and built the ladder to prove it; .192 read DOWN at 500, 2000, 5000 AND 15000 ms, so no flip, hypothesis dead. Building the experiment that can REFUTE the theory before writing the fix is the only reason a wrong fix was not shipped into a shared liveness probe |
R2 Speech bubbles · cell LANDED · gate NO-GATE-DECLARED
| Contract | mb_bubble_draw · executor Organ · 1 u · stands on R5 |
|---|---|
| Definition of done | Bubble geometry, tails and sovereign TTF raster; overflow REFUSES, never silently clips |
| Matrix cell | TEXT: speech-bubble compositor · runtime/nx_manga_bubble.nx · LANDED decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_bubble; declare nx_manga_bubble TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
R3 Script to beats · cell LANDED · gate NO-GATE-DECLARED
| Contract | ms_beats · executor Organ · 1 u · stands on nothing |
|---|---|
| Definition of done | Every script line lands in exactly one panel; the partition is printed |
| Matrix cell | SCRIPT: script-to-panel beats · runtime/nx_manga_script.nx · LANDED decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_script; declare nx_manga_script TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
R4 Character sheets · cell PRESENT · gate NO-GATE-DECLARED
| Contract | mcs_sheet_emit · executor Organ · 1 u · stands on nothing |
|---|---|
| Definition of done | Legality-checked pose sweep, renders, sheet grid; identity judged per cell. Chain proven end to end 2026-08-14 (nx_body_gen makes the mesh, nx_headcrop bands it, nx_anat_sov renders, nx_contactsheet composes, nx_charjudge scores) with every argv contract written down. The sheet judges on the axes that are real for this asset and PRINTS face_axis as an honest zero: the face is absent in the geometry, not in the judge, and that belongs to the graphics lane. |
| Matrix cell | CHAR: character sheets / turnarounds · runtime/nx_manga_charsheet.nx · PRESENT decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_charsheet; declare nx_manga_charsheet TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
R11 Layout-conditioned generation · cell WATCHING · gate NO-GATE-DECLARED
| Contract | mp_scene_condition · executor Organ · 2 u · stands on R1 (UNRESOLVED: no such rung on this plan), R4 |
|---|---|
| Definition of done | Characters placed in-panel at generation time. Path A: per-panel camera and pose from the 3D lane through the landed compositor, deterministic. Path B: region-conditioned diffusion |
| Matrix cell | PAGE: layout-conditioned generation · runtime/nx_manga_scene.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_scene; declare nx_manga_scene TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
R12 MangaZero bench · cell NO-MATRIX-ROW · gate NO-MATRIX-ROW
| Contract | mz_bench_run · executor Local model · 1.5 u · stands on R11 |
|---|---|
| Definition of done | Run the paper's own protocol and publish our FID/CLIP/DINO/F1 row beside theirs -- a grade-1 external referee, not our own scoring [mangazero25] |
| Matrix cell | NO-MATRIX-ROW — no matrix row carries mz_bench_run; the ranker reads this rung as unmapped and no cell can flip for it. Add the row and the join completes on the next publish. |
| Gate | the gate join needs a matrix row: no organ is named for this rung |
| Work log | no log row names this rung yet |
R6 Print export · cell WATCHING · gate NO-GATE-DECLARED
| Contract | me_pdf_emit · executor Organ · 2 u · stands on nothing |
|---|---|
| Definition of done | PDF and CBZ emit; our own reader must read the PDF back (the referee already exists) |
| Matrix cell | EXPORT: print-ready PDF/CBZ emit · runtime/nx_manga_export.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_export; declare nx_manga_export TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
R8 Video animatic · cell WATCHING · gate NO-GATE-DECLARED
| Contract | ma_animatic_emit · executor Organ · 1 u · stands on R6 |
|---|---|
| Definition of done | Pan and zoom page traversal through the sovereign codec; vqoe and frame-score floors |
| Matrix cell | VIDEO: image-to-video generation · runtime/nx_manga_animatic.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_animatic; declare nx_manga_animatic TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
R9 Training loop · cell WATCHING · gate NO-GATE-DECLARED
| Contract | lt_train_deploy · executor Local model · 2 u · stands on nothing |
|---|---|
| Definition of done | Favorites to dataset to train to deploy; the tuned model must EXCEED baseline on the same prompts under the judge panel or it is not wired |
| Matrix cell | TRAIN: train -> deploy -> A/B loop · runtime/nx_galx_lora_train.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_galx_lora_train; declare nx_galx_lora_train TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
R10 Sketch to art · cell WATCHING · gate NO-GATE-DECLARED
| Contract | gen_img2img · executor Local model · 1 u · stands on nothing |
|---|---|
| Definition of done | img2img entry on the gen daemon; fidelity and quality judged |
| Matrix cell | SKETCH: realtime sketch-to-art · runtime/nx_gen.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_gen; declare nx_gen TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
R7 Canvas editor · cell WATCHING · gate NO-GATE-DECLARED
| Contract | mc_canvas_wasm · executor Organ · 3 u · stands on nothing |
|---|---|
| Definition of done | Wasm-owned layered editor under the interop law; edit ops replay deterministically |
| Matrix cell | CANVAS: layered editor workspace · runtime/nx_manga_canvas.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_canvas; declare nx_manga_canvas TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
MG20 Adopt the incumbent licence ruler on the manga ingest path · cell WATCHING · gate NO-GATE-DECLARED
| Contract | asset_provenance_row · executor Organ · 0.5 u · stands on nothing |
|---|---|
| Definition of done | SHARED WITH modding MD9 -- this rung does NOT build a second licence organ. asset_provenance_row extends lg_verdict in nx_licgate_lib to ingested assets with source url, content sha, licence class and redistribution flag; this rung wires it onto manga ingest so a work carries provenance from the moment it is fetched. Done-rule is that a work with NO provenance row REFUSES to enter the shared tier while private use stays allowed, proven by a gate that plants a row-less work and sees the promote refused, with a positive control that must be ADMITTED so a guard refusing everything cannot pass |
| Matrix cell | LICENCE: provenance and licence row on every ingested work · runtime/nx_licgate_lib.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_licgate_lib; declare nx_licgate_lib TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-05 retract MG20 was authored on 2026-09-05 as a NEW organ nx_manga_licence carrying ml_licence_row. RETRACTED within the hour by READING the modding board rather than by scoring names: nx_licgate_lib already ships lg_verdict, and MD9 already contracts asset_provenance_row on that lib with the identical field set -- source url, content sha, licence class, redistribution flag, class UNKNOWN refusing export while private use stays allowed. The matrix row and this rung now point at the incumbent and the estimate drops from 1 u to 0.5 u. Note that nx_spendgate ranked nx_licdetect and nx_acquire_license as the nearest names and NEITHER was the real incumbent, which is exactly why that tool publishes a list instead of a verdict 2026-09-05 queue Operator 2026-09-05 named the full loop -- point at a source site, ingest, translate if not in English, display panel by panel in the gallery, catalogue the style if liked, use it in a gen for personal use or license if commercial, and generate new stories panel by panel that logically progress to completion. SFW and NSFW, lawful, including fantasy roleplay premises. The ladder is re-staged to that sequencing 2026-09-05 measure MEASURED BEFORE AUTHORING, and the ingest half is far more built than this plan claimed. na_detect, na_nhentai_api, na_nhentai_build, na_nhentai_from_page, na_mangadex_api, na_mangadex_build and na_mangadex_meta_api all exist in nx_manga_sites; mg_gallery_to_pages and mg_write_cbx exist in nx_manga_get; rp_detect and rp_order with an rtl flag exist in nx_reader_panels; rl_add_personal and rl_promote_to_shared exist in nx_reader_library; asm_assemble exists in nx_ocr_assemble. NONE of it was on this board, so the board was stale in the PESSIMISTIC direction, which is the class nobody audits |
MG21 CJK glyph recognition · cell WATCHING · gate NO-GATE-DECLARED
| Contract | oc_cjk_classify · executor Organ · 2 u · stands on nothing |
|---|---|
| Definition of done | A CJK template corpus behind the landed resample-and-hamming classifier. Done-rule is a held-out page set scored for character recall against a hand-keyed transcript, published with n and the corpus size, plus a Latin control that must NOT regress |
| Matrix cell | TRANSLATE: CJK glyph recognition · runtime/nx_ocr_cjk.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_ocr_cjk; declare nx_ocr_cjk TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
MG22 Text regions on a page · cell LANDED · gate NO-GATE-DECLARED
| Contract | mo_text_regions · executor Organ · 1 u · stands on nothing |
|---|---|
| Definition of done | Find bubbles and free text on a page. The done-rule is the INVERSE test against our own compositor -- draw a page with mb_bubble_draw at known geometry, detect it back, and the recovered rectangles must match within a stated tolerance. That referee costs nothing because both halves are ours |
| Matrix cell | TRANSLATE: find the text regions on a page · runtime/nx_manga_ocr.nx · LANDED decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_ocr; declare nx_manga_ocr TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-05 land MG22 mo_text_regions LANDED, gate 10/10 GREEN. nx_manga_ocr composes nx_reader_panels rp_rowink and rp_colink rather than growing a second ink scanner, because panel detection and text detection are the same projection machinery at different scales. The gate grades against a PLANTED ink map so the expected answer is exact arithmetic rather than an eyeball, and its anti-vacuity pair is the whole argument: T3 requires two blocks 15 rows apart to stay TWO, T4 requires two lines one row apart to merge into ONE, and no single wrong rule passes both. This rung needed NO corpus and NO GPU, which is why it was wrong of me to lump it in with MG21 CJK recognition |
MG23 Translated re-lettering · cell WATCHING · gate NO-GATE-DECLARED
| Contract | mo_reletter · executor Organ · 1.5 u · stands on MG21, MG22 |
|---|---|
| Definition of done | Mask the source text and re-letter through the landed bubble compositor and our own TTF. Overflow REFUSES rather than clipping, and the done-rule is a round trip where a re-lettered page is re-detected and re-read back to the same string |
| Matrix cell | TRANSLATE: re-letter the translation back into the bubble · runtime/nx_manga_ocr.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_ocr; declare nx_manga_ocr TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
MG24 Content rating as data · cell PRESENT · gate NO-GATE-DECLARED
| Contract | mr_rate_row · executor Organ · 1 u · stands on nothing |
|---|---|
| Definition of done | A rating row bound to the ASSET at emit, never to the account. The gate proves a family-tier viewer cannot be served an adult-rated asset from the same store, and that an UNRATED asset is treated as gated rather than as safe |
| Matrix cell | RATING: content rating carried as DATA on the asset · runtime/nx_manga_rating_lib.nx · PRESENT decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_rating_lib; declare nx_manga_rating_lib TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-05 measure INCUMBENT FOUND BEFORE BUILDING THE RATING ORGAN. nx_torrent_access already ships the fail-closed VIEWER-LEVEL decision, from an operator directive of 2026-06-20 -- nx_taccess_allow(viewer_level, area) with OWNER 3, FAMILY 1, ANON 0, and areas SFW 0 requiring FAMILY and NSFW 1 requiring OWNER. That is the ACCESS half and it must be COMPOSED, never re-implemented. What is genuinely absent is the RATING half: today the AREA, meaning which destination a work landed in, is the ONLY signal, and a folder is a coarse proxy for what an asset actually contains. mr_rate_row binds a rating to the ASSET at emit and maps it onto the existing area and level model, so one library serves a family viewer and an adult viewer without a second pipeline AND without a second access ruler. Two incumbents were found this way in one session -- nx_licgate_lib for licence and nx_torrent_access for access -- both by reading a sibling board rather than by scoring names 2026-09-05 land nx_manga_rating authored 2026-09-05 for MG24 and MG32. It COMPOSES both incumbents and redeclares neither: nx_taccess_allow decides access from the AREA, and WS_ADULT_AGE is imported from nx_wardrobe_state rather than copied, because the same threshold written twice is two constants that can drift. The load-bearing property is that mr_area_for_rating maps UNRATED to the NSFW area, so an asset nobody has rated is GATED rather than assumed safe, and every mapping fails toward the more restrictive side 2026-09-05 land nx_manga_rating shipped as a THREE-FILE lib+CLI+gate split rather than one organ, so the decision has ONE home and the CLI and the gate cannot drift into two answers. nx_manga_rating_lib holds every rule; nx_manga_rating is a thin CLI; nx_manga_rating_gate tests the lib IN-PROCESS at 23/23 GREEN, emitting adult_age=18 area_unrated=1 area_allages=0 area_adult=1 serve_family_unrated=0 serve_family_allages=1 serve_owner_adult=1 so a second method can CONTRADICT the gate rather than trust it. Every refusal tooth is paired with a positive control, because a guard that denies everything passes every deny test ever written |
MG25 Real-person likeness refusal · cell WATCHING · gate NO-GATE-DECLARED
| Contract | rp_likeness_refuse · executor Organ · 1 u · stands on nothing |
|---|---|
| Definition of done | A likeness request refuses BEFORE GPU spend and the refusal names which rule fired. The gate carries a positive control that must be ALLOWED, because a guard that refuses everything passes every deny test |
| Matrix cell | RATING: no real-person likeness, refused before spend · runtime/nx_realperson_gate.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_realperson_gate; declare nx_realperson_gate TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
MG30 Arc completes to its stated ending · cell WATCHING · gate NO-GATE-DECLARED
| Contract | mac_arc_complete · executor Organ · 2 u · stands on nothing |
|---|---|
| Definition of done | A story declares its ending up front and every beat is measured as advancing toward it. The done-rule is two-sided -- a deliberately circular script REFUSES with the non-advancing beats NAMED, and a known-good script passes -- so the tooth cannot be vacuous |
| Matrix cell | STORY: an arc that provably reaches its stated ending · runtime/nx_manga_arc.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_arc; declare nx_manga_arc TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
MG31 Pin the rival rating and control reads · cell NO-MATRIX-ROW · gate NO-MATRIX-ROW
| Contract | - · executor Local model · 0.5 u · stands on nothing |
|---|---|
| Definition of done | Every RATING and CONTROL cell added on 2026-09-05 gets a fetched, hash-pinned refs row whose mirror supports the SPECIFIC claim. Until then those cells stay declared UNPINNED in their section headers rather than presented as benched, and they carry no inline mark |
| Matrix cell | NO-MATRIX-ROW — no matrix row carries -; the ranker reads this rung as unmapped and no cell can flip for it. Add the row and the join completes on the next publish. |
| Gate | the gate join needs a matrix row: no organ is named for this rung |
| Work log | no log row names this rung yet |
MG32 Wire the adult invariant onto the manga path · cell NO-MATRIX-ROW · gate NO-MATRIX-ROW
| Contract | mr_adult_invariant · executor Organ · 1 u · stands on MG24 |
|---|---|
| Definition of done | ws_set and ws_coherent enforced on the manga generation path. The gate is MUTATION-PROVEN the way the character lane's already is -- remove the refusal and the gate must go RED -- because a deny guard that has only ever passed is unverified |
| Matrix cell | NO-MATRIX-ROW — no matrix row carries mr_adult_invariant; the ranker reads this rung as unmapped and no cell can flip for it. Add the row and the join completes on the next publish. |
| Gate | the gate join needs a matrix row: no organ is named for this rung |
| Work log | 2026-09-05 lesson A cell that flips because a symbol exists SOMEWHERE is not a capability on THIS path. The first draft of the RATING section named ws_set as a landed mangagen row; ws_set is real and mutation-proven but lives in the character lane, so the row was corrected to a watch on mr_adult_invariant with the substrate named in the note. A completion signal that keys on a name rewards writing the name 2026-09-05 retract THE DEPICTION RULE WAS AUTHORED WRONG AND WAS CORRECTED BY THE OPERATOR THE SAME HOUR. The first cut was mr_adult_invariant(subject_age, RATING): a subject below WS_ADULT_AGE could not carry a MATURE-or-above rating. That is the WRONG AXIS and it OVER-BLOCKS -- it would have refused a fully clothed minor character inside a MATURE-rated story, which is ordinary lawful content in any school-life or coming-of-age comic. The rating of a WORK says nothing about whether a given FIGURE is lawfully depicted. Replaced by mr_depiction_legal(subject_age, exposed): AGE x EXPOSURE, which is the same line ws_set already enforces per gated zone. Two axes, deliberately separate -- RATING governs WHO MAY VIEW, EXPOSURE governs WHAT MAY BE DEPICTED -- and gate tooth T16 now asserts that independence so no future seat can re-conflate them 2026-09-05 lesson A QUARANTINE ON APPEARANCE WAS PROPOSED AND CORRECTLY REFUSED BY THE OPERATOR. The proposal was a third state for a declared-adult character who renders youthful or petite, on the theory that a declared age is a claim while a render is a measurement. The operator refused it: at or above 18 that content is lawful and we do not touch it. The engineering reason the refusal is right and not merely a preference -- an appearance classifier over lawful adult work is a FALSE-POSITIVE ENGINE, and this estate already holds that a detector with false positives is worse than none, because it teaches every reader to ignore it. mr_depiction_legal therefore takes the declared age at face value above the threshold, with NO appearance test and NO hold anywhere in the lane. THE ONLY HARD LINE IS BELOW-AGE AND EXPOSED 2026-09-05 measure HAZARD NAMED, NOT PROMOTED. nx_manga_rating_gate shows STAGED 38704 B against BUILT 33156 B: the staged artifact PREDATES the depiction-axis correction and is the 21/21 version that gated on age x RATING. Promoting the queued BQ-nx_manga_rating_gate row would ship the conflated-axis gate over the corrected one. The correct artifact is the 33156 B build that passes 23/23. Re-stage from the current source before any promote 2026-09-05 retract THE STAGED-ARTIFACT HAZARD I FILED ONE ENTRY ABOVE WAS A FALSE ALARM AND IS WITHDRAWN. I read nx_manga_rating_gate STAGED 38704 B against BUILT 33156 B and concluded the staged copy predated the depiction-axis correction. WRONG, and wrong by the exact mechanism this estate already documents: 38704 came from the /api/build lane and 33156 from nx_sov_build_run, and those two lanes differ by 6 to 17 percent on IDENTICAL source -- 16.6 percent here. I READ A LANE DIFFERENCE AS A VINTAGE DIFFERENCE. Settled by BYTES rather than by arithmetic: the corrected tooth literal neg-control-minor-exposed is PRESENT in the staged binary (count=1) and the old conflated literal neg-control-minor-at-adult is ABSENT (count=0), so the staged artifact was the corrected gate all along. A tooth NAME is a string in the binary, which makes it a free discriminator for which source an artifact was built from -- reach for that before inferring vintage from size. PROMOTED f7518729 38704 B with expect_sha256, prev banked |
MG33 Identify and catalogue a style · cell WATCHING · gate NO-GATE-DECLARED
| Contract | mst_style_ident · executor Organ · 2 u · stands on MG20 |
|---|---|
| Definition of done | Style features measured from the pages themselves and written as a row with provenance beside it. The done-rule is DISCRIMINATION, not presence -- two visibly different works must measure different AND two chapters of one work must measure the same, because a feature set that fires the same on everything discriminates nothing |
| Matrix cell | STYLE: identify and catalogue the style of an ingested work · runtime/nx_manga_style.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_style; declare nx_manga_style TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
MG34 Generate in a catalogued style · cell WATCHING · gate NO-GATE-DECLARED
| Contract | mst_style_apply · executor Organ · 2 u · stands on MG33, R5 |
|---|---|
| Definition of done | The style row drives the generator and carries its source licence state forward. Done-rule declared BEFORE the run -- a render in a catalogued style must measure closer to that style than to a control style under the judge panel |
| Matrix cell | STYLE: generate in a catalogued style, personal until licensed · runtime/nx_manga_style.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_manga_style; declare nx_manga_style TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
dossiers=22 cells_joined=19 no_matrix_row=3 (sum 22) gates_recorded=0 gates_unrecorded=0 no_gate_declared=19 (sum 19 of cells_joined) evgates=UNSTAMPED
Capability comparisons
Compare the field, search individual capabilities and open their source and adoption evidence. Documented presence does not establish comparative quality.
Position map — centrality and distinctiveness
The four-quadrant map the field uses for brand strategy (Dawar and Bagga, HBR June 2015), re-derived from this matrix on every publish. Centrality is the share of the category's feature mass a player covers, each feature weighted by how many hold it; distinctiveness is the average lead over each rival on the rows the player holds; breadth is the depth-weighted share of the whole matrix (the bubble); depth is how deeply the rows held are held; momentum is the day-over-day move off the spine (green rising, red falling, grey until day two); the dashed path runs first day → previous day → today. Dividers are the category means. Axes are fitted to the field of play, so read the tick numerals, not the frame. Rival marks are documented presence, so a rival's position reads the record, never its quality. The picture grades its own readability below; the table beside it is the same data for a screen reader or a second method.
knowledge/compare/mangagen.cdmap (cut|x|y, cube|x|y|z); absent = the HBR defaultsbubble area = breadth · ring = momentum (green rising, red falling, grey until day two) · dashed = category means · axes fitted to the field of play: centrality 300–900, distinctiveness 200–600 of 0–1000 permil (the full range put every player in one corner)
readability of the 2D cut, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 0 (a fact of the data: two players that close are that close) · data spread 718 permil of the plot · quadrant words unseated 0
text contrast, measured with wcag2-ratio (floors from contrast.conf), light theme: labels 16.24 (floor 4.50) · notes 16.24 (floor 4.50) · quadrant words 5.89 (floor 4.50) · tick numerals 5.89 (floor 4.50) · axis titles 5.59 (floor 4.50) · dark theme: labels 13.78 (floor 4.50) · quadrant words 5.55 (floor 4.50) · axis titles 5.97 (floor 4.50) · dark classes under their floor 0 (one figure serves both themes: a dark shortfall is a token to fix, never a class to hide) · classes refused under their floor 0 (a refused class is not drawn; the scale classes are measured, never hidden) · export: SVG PNG (receipt, rendered by the estate's own rasteriser from this page)
readability of the 3D cube, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 1 (a fact of the data: two players that close are that close) · data spread 231 permil of the plot
10 panels over 5 registered axes, every pair once (the lower axis on x, the higher on y) · each panel fitted to its own field of play, first and last tick numerals shown · no labels in a small cut, the legend names the colours; the grade below reports the mark terms only (MM summed over the panels, spread averaged)
readability of the small multiples, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 10 (a fact of the data: two players that close are that close) · data spread 573 permil of the plot
| Player | Quadrant | centrality | distinctiveness | breadth | depth | momentum | Rows held | Days on spine | First seen |
|---|---|---|---|---|---|---|---|---|---|
| Nishi | Aspirational | 678 | 550 | 503 | 731 | 0 since 2026-09-23 | 31 | 10 | 2026-09-15 |
| Anifusion | Aspirational | 785 | 419 | 400 | 857 | 0 since 2026-09-23 | 21 | 10 | 2026-09-15 |
| NovelAI | Mainstream | 696 | 285 | 296 | 740 | 0 since 2026-09-23 | 18 | 10 | 2026-09-15 |
| Midjourney | Peripheral | 392 | 237 | 155 | 777 | 0 since 2026-09-23 | 9 | 10 | 2026-09-15 |
| PixAI | Mainstream | 767 | 296 | 333 | 750 | 0 since 2026-09-23 | 20 | 10 | 2026-09-15 |
| DiffSensei | Peripheral | 464 | 266 | 162 | 564 | 0 since 2026-09-23 | 13 | 10 | 2026-09-15 |
| Day | Matrix rows reviewed | Players recorded |
|---|---|---|
| 2026-09-15 | 45 | 6 |
| 2026-09-16 | 45 | 6 |
| 2026-09-17 | 45 | 6 |
| 2026-09-18 | 45 | 6 |
| 2026-09-19 | 45 | 6 |
| 2026-09-20 | 45 | 6 |
| 2026-09-21 | 45 | 6 |
| 2026-09-22 | 45 | 6 |
| 2026-09-23 | 45 | 6 |
| 2026-10-08 | 45 | 6 |
players 6|matrix rows 45|feature mass 112|centrality mean 630|distinctiveness mean 342|axes 5|spine days 10 (shown 10)|rows written today 0|readability defects 2D 0 cube 0|spine knowledge/status/cdmap/mangagen.spine
Capability matrix — measured against source
◉ authored stronger claim; source present● present◐ partial○ absent? unassessed; excluded from relative comparison · click any capability for its evidence
Peer cell coverage: authored assessed 225, unassessed 0. Authored assessments are not verified outcomes.
No capabilities match this filter or search.
| Capability | Nishi | Anifusion | NovelAI | Midjourney | PixAI | DiffSensei |
|---|---|---|---|---|---|---|
| GEN | ||||||
text-to-image on own GPU + gallery ingestMeasured:gen_param_schema exists in runtime/nx_gen.nx, verified at emit. All four products are txt2img SaaS [anifusion] and DiffSensei generates as research code; Nishi renders on the sovereign swarm, seed-deterministic, cids into the gallery -- live-run receipt 2026-08-13 Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by nx_forkfresh_gate -- a mention, not a run.Pros Implementing source symbol found; runtime acceptance separateCons behind Anifusion (leads), NovelAI (leads), Midjourney (leads), PixAI (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by nx_forkfresh_gate -- a mention, not a run | ● | ◉ | ◉ | ◉ | ◉ | ● |
deterministic prompt QC before spendSource present; authored stronger claim:gen_content_bg in runtime/nx_gen.nx, verified at emit. nx_gen anatomy = mechanical risk/factors/wetfix refusal-with-remedy BEFORE GPU spend; nothing in either column surfaces a pre-spend QC verdict Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by nx_forkfresh_gate -- a mention, not a run.Pros Source symbol found; stronger capability claim is authored; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSenseiCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by nx_forkfresh_gate -- a mention, not a run | ◉ | ○ | ○ | ○ | ○ | ○ |
style-pack breadth (50+ named styles)DARK —runtime/nx_gen.nx EXISTS but does not declare gen_style_pack: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. R5 gap watching gen_style_pack: style rows as DATA; a style row that changes nothing is a defect to rewrite, never delete rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion (leads), NovelAI (leads), Midjourney, PixAI (leads), DiffSensei; open contract; expected source declaration not established | ○ | ◉ | ◉ | ● | ◉ | ◐ |
| PAGE | ||||||
panel-grid page compositorMeasured:mp_page_emit exists in runtime/nx_manga_page.nx, verified at emit. R1 KEYSTONE gap watching mp_page_emit; cs_draw (nx_contactsheet) is the proven substrate to extend -- page-spec rows + gutters + RTL read order rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of NovelAI, MidjourneyCons behind Anifusion (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ◉ | ○ | ○ | ● | ● |
layout presets/templates as dataMeasured:mp_layout_rows exists in runtime/nx_manga_page.nx, verified at emit. R1 data plane watching mp_layout_rows; house law: layouts are rows, never code rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of NovelAI, MidjourneyCons behind Anifusion (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ◉ | ○ | ○ | ● | ● |
layout-conditioned generationOpen — watchingruntime/nx_manga_scene.nx : mp_scene_condition, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R11, and the axis the research bar exposes that NO product column shows: DiffSensei places characters in-panel at generation time via masked cross-attention [diffsensei25]. Our path A is per-panel camera and pose from the 3D lane through the landed compositor -- deterministic placement instead of sampled placementPros none measured yetCons behind Anifusion, DiffSensei (leads); open contract; expected source declaration not established | ○ | ◐ | ○ | ○ | ○ | ◉ |
| TEXT | ||||||
sovereign font (TTF emitter)Measured:append_glyph exists in runtime/nx_font_ttf_emit.nx, verified at emit. Rivals rent fonts; append_glyph serializes our own glyph outlines -- the lettering substrate is ours to the byte rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of DiffSenseiCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ● | ● | ● | ● | ○ |
speech-bubble compositorMeasured:mb_bubble_draw exists in runtime/nx_manga_bubble.nx, verified at emit. R2 gap watching mb_bubble_draw: bubble geometry + tails + TTF raster; overflow text must REFUSE, never silently clip. DiffSensei lays out dialog REGIONS in-generation (its F1 metric) but does not letter them rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of Midjourney, DiffSenseiCons behind Anifusion (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ◉ | ● | ○ | ● | ◐ |
| SCRIPT | ||||||
script-to-panel beatsMeasured:ms_beats exists in runtime/nx_manga_script.nx, verified at emit. R3 gap watching ms_beats: script rows -> beats -> panel specs; every line lands in exactly one panel, partition printed. DiffSensei adapts story text per panel with an MLLM; ours is deterministic rows first rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of NovelAI, Midjourney, PixAICons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ● | ○ | ○ | ○ | ● |
| CHAR | ||||||
pose legality by anatomyMeasured:sg_legal exists in runtime/_hdl_build/nx_skelgen.nx, verified at emit. sg_legal answers -- is this pose anatomically legal -- BEFORE render; every other column samples and hopes Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSenseiCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ○ | ○ | ○ | ○ | ○ |
consistency by construction (genome+seed)Source present; authored stronger claim:sg_fk in runtime/_hdl_build/nx_skelgen.nx, verified at emit. DiffSensei LEADS the field on this axis statistically (DINO-C 0.651, adapter + sampling); a Nishi being re-rendered from genome+seed is the SAME being as an equality -- different mechanism, and the 2D bridge is still open (R4/R11) rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Source symbol found; stronger capability claim is authored; ahead of Anifusion, NovelAI, Midjourney, PixAICons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ◉ | ◐ | ◐ | ● | ◐ | ◉ |
character sheets / turnaroundsMeasured:mcs_sheet_emit exists in runtime/nx_manga_charsheet.nx, verified at emit. R4: legality-checked pose sweep -> renders -> sheet grid; identity judged per cell rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of DiffSenseiCons behind Anifusion (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ◉ | ● | ● | ● | ○ |
identity/quality judge (organ eye)Measured:cjc_hw exists in runtime/_hdl_build/nx_charjudge.nx, verified at emit. scores character images mechanically; DiffSensei evaluates with research metrics, no product judge rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: RUN-BY:fork:nx_charjudge_census — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ | ◐ |
design brief + relationship memoryMeasured:cm_ctx exists in runtime/nx_charmem.nx, verified at emit. cm_ctx folds prefs and memories into the gen context; CompanionCard compiler is the sibling rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of Midjourney, DiffSenseiCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ● | ● | ○ | ● | ○ |
| ASSET | ||||||
gallery + cid canon + searchMeasured:si_hex exists in runtime/nx_galx_saveimg.nx, verified at emit. cid = nxc1-sha256 content addressing, view index, save-to-gallery live on /gallery rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of DiffSenseiCons behind Anifusion (leads); not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ◉ | ● | ● | ● | ○ |
full-population quality rankingSource present; authored stronger claim:do_rank in runtime/_hdl_build/nx_gen_rank.nx, verified at emit. do_rank loads the ENTIRE plane, no sampling; rival ranking is user clicks -- their loop ends at the eyeball, ours at a measured order Adoption: RUN-BY:clock — fully adopted (top of its ladder).Pros Source symbol found; stronger capability claim is authored; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ◉ | ○ | ○ | ○ | ○ | ○ |
image-quality judge (symmetry Q1000)Measured:go_image_symmetry exists in runtime/_hdl_build/nx_image_symmetry_lib.nx, verified at emit. bilateral-symmetry scorer over gallery cids rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=3 nonval=3 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ | ◐ |
| TRAIN | ||||||
LoRA dataset export from favoritesMeasured:le_prompt exists in runtime/nx_galx_lora_export.nx, verified at emit. le_prompt recovers prompts from PNG headers into the dataset; products train in their cloud, DiffSensei publishes a research recipe rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: RUN-BY:clock — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Midjourney, DiffSensei; fully adopted on the estate ladderCons behind Anifusion (leads), NovelAI (leads), PixAI (leads) | ● | ◉ | ◉ | ○ | ◉ | ◐ |
train -> deploy -> A/B loopOpen — watchingruntime/nx_galx_lora_train.nx : lt_train_deploy, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R9 gap watching lt_train_deploy; pre-declared accept: tuned model must EXCEED baseline on the same prompts under the judge panel, or it is not wired rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion (leads), NovelAI (leads), PixAI (leads), DiffSensei; open contract; expected source declaration not established | ○ | ◉ | ◉ | ○ | ◉ | ◐ |
| MOTION | ||||||
real-mocap decode + retargetMeasured:m_joints exists in runtime/nx_bvhmotion.nx, verified at emit. BVH/VMD decoded sovereignly, dance retargeted 510 keys at 30fps; every other column synthesizes motion or has none Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSenseiCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ○ | ○ | ○ | ○ | ○ |
| VIDEO | ||||||
image-to-video generationOpen — watchingruntime/nx_manga_animatic.nx : ma_animatic_emit, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R8 gap watching ma_animatic_emit: animatic lane (pan/zoom through the sovereign codec) first; diffusion video out of scope until R1-R6 ship rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion (leads), NovelAI, Midjourney (leads), PixAI; open contract; expected source declaration not established | ○ | ◉ | ● | ◉ | ● | ○ |
| EXPORT | ||||||
print-ready PDF/CBZ emitOpen — watchingruntime/nx_manga_export.nx : me_pdf_emit, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R6 gap watching me_pdf_emit -- and the round-trip referee is free: our own reader must read our PDF back rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion (leads), NovelAI, PixAI; open contract; expected source declaration not established | ○ | ◉ | ● | ○ | ● | ○ |
PDF read-back refereeMeasured:nx_pdf_extract_text exists in runtime/nx_pdf_text.nx, verified at emit. per-font CMap decode already sovereign -- the R6 acceptance instrument exists today Adoption: RUN-BY:fork:nx_pdf_gate — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ | ○ |
| CANVAS | ||||||
layered editor workspaceOpen — watchingruntime/nx_manga_canvas.nx : mc_canvas_wasm, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R7 gap watching mc_canvas_wasm under the JS-interop law: wasm owns logic, page shim = fb copy + input only rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion (leads), NovelAI, PixAI; open contract; expected source declaration not established | ○ | ◉ | ● | ○ | ● | ○ |
| SKETCH | ||||||
realtime sketch-to-artDARK —runtime/nx_gen.nx EXISTS but does not declare gen_img2img: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. R10 gap watching gen_img2img: img2img entry on the gen daemon rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion (leads), NovelAI, PixAI (leads); open contract; expected source declaration not established | ○ | ◉ | ● | ○ | ◉ | ○ |
| INGEST | ||||||
detect the source site from a bare URLMeasured:na_detect exists in runtime/_hdl_build/nx_manga_sites.nx, verified at emit. R2b adapters exist for the two sites the operator named on 2026-07-03 because each ships its ordered page list in a JSON API the generic HTML harvester cannot reach. No generator column ingests anything at all Adoption: LIB-WIRED importers=5 nonval=4 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ | ○ |
MangaDex ordered page list from its documented public APIMeasured:na_mangadex_build exists in runtime/_hdl_build/nx_manga_sites.nx, verified at emit. na_mangadex_api plus na_mangadex_meta_api and na_mangadex_title take pages AND metadata from the public API rather than by scraping chapter HTML, which is why this source is the clean one to build on Adoption: LIB-WIRED importers=5 nonval=4 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ | ○ |
walled-gallery adapter with an HTML fallback pathMeasured:na_nhentai_from_page exists in runtime/_hdl_build/nx_manga_sites.nx, verified at emit. na_nhentai_api and na_nhentai_build read the JSON page list, and na_nhentai_from_page recovers the ordered pages straight from the gallery HTML when the API is unreachable. That fallback is the hardening a challenge-walled site needs Adoption: LIB-WIRED importers=5 nonval=4 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ | ○ |
a URL becomes ordered page images plus a cbx manifestMeasured:mg_gallery_to_pages exists in runtime/_hdl_build/nx_manga_get.nx, verified at emit. Sovereign end to end over our own TLS 1.3 with no python and no gallery-dl, fork per image, and junk filtered by REAL header pixel size through nx_img_dims so trackers, spacers and nav icons can never land as pages Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by unpromoted-source -- a mention, not a run.Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSenseiCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by unpromoted-source -- a mention, not a run | ● | ○ | ○ | ○ | ○ | ○ |
cbx.json manifest as the native shelf formatMeasured:mg_write_cbx exists in runtime/_hdl_build/nx_manga_get.nx, verified at emit. The ingested work lands as a book dir plus a cbx.json manifest, which is the format the reader and the gallery already consume, so an ingested work and a generated one sit on the same shelf Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by unpromoted-source -- a mention, not a run.Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSenseiCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked); only referenced by unpromoted-source -- a mention, not a run | ● | ○ | ○ | ○ | ○ | ○ |
| LICENCE | ||||||
personal tier by default, keyed to the authenticated userSource present; authored stronger claim:rl_add_personal in runtime/_hdl_build/nx_reader_library.nx, verified at emit. Two tiers behind the wall keyed by sy_user_key from the auth handle rather than by a client claim, so an ingested work is private to the downloader by construction. This is the mechanical form of personal use until signaled, and rl_slug_guard makes another user's personal slug unreachable Adoption: LIB-WIRED importers=6 nonval=4 — fully adopted (top of its ladder).Pros Source symbol found; stronger capability claim is authored; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ◉ | ○ | ○ | ○ | ○ | ○ |
sharing is an explicit promote, never a defaultSource present; authored stronger claim:rl_promote_to_shared in runtime/_hdl_build/nx_reader_library.nx, verified at emit. The promote IS the signal, and it is a call that leaves a trace rather than a remembered intention. No column in this field distinguishes a private working copy from a published one because none of them holds a library at all Adoption: LIB-WIRED importers=6 nonval=4 — fully adopted (top of its ladder).Pros Source symbol found; stronger capability claim is authored; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ◉ | ○ | ○ | ○ | ○ | ○ |
provenance and licence row on every ingested workDARK —runtime/nx_licgate_lib.nx EXISTS but does not declare asset_provenance_row: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. MG20 ADOPTS THE INCUMBENT rather than standing up a second licence ruler. lg_verdict already ships the fail-closed shippability verdict YES CONDITIONAL REFUSE over a chain of licences with unverified rows refusing, and the modding board's MD9 already contracts asset_provenance_row on that same lib for exactly these fields -- source url, content sha, licence class, redistribution flag -- with class UNKNOWN refusing every export and publish door while PRIVATE USE STAYS ALLOWED. One licence ruler serves modding and manga ingest. A style is not copyrightable while a page is, so cataloguing style parameters is a different act from redistributing ingested pages, and this row is where that stops being a matter of good intentionsPros none measured yetCons open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ○ | ○ |
| READ | ||||||
panel detection by ink and gutter, not by a modelMeasured:rp_detect exists in runtime/_hdl_build/nx_reader_panels.nx, verified at emit. Integer Otsu binarize then recursive X-Y gutter cut with an explicit stack, so a page decomposes deterministically and the same page always yields the same panels. A learned detector cannot make that promise Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ | ○ |
right-to-left panel read orderMeasured:rp_order exists in runtime/_hdl_build/nx_reader_panels.nx, verified at emit. rp_order takes an rtl flag, which is the whole difference between reading a manga and reading it backwards, and rp_emit writes the ordered panels for guided view Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSensei; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ | ○ |
| TRANSLATE | ||||||
recognized glyphs become textMeasured:asm_assemble exists in runtime/nx_ocr_assemble.nx, verified at emit. R5 of the sovereign scanning stack, integer exact and zero dependency, grouping glyphs into lines by vertical overlap and inserting a space on a wide gap. This is the Latin half of the reader and it already works Adoption: LIB-GATE-ONLY importers=1 — PARTIAL: imported only by validation organs (gates, tests, benches): wire it into a shipping program.Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSenseiCons not adopted yet: imported only by validation organs (gates, tests, benches): wire it into a shipping program | ● | ○ | ○ | ○ | ○ | ○ |
CJK glyph recognitionOpen — watchingruntime/nx_ocr_cjk.nx : oc_cjk_classify, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. MG21 gap watching oc_cjk_classify. The landed classifier is a resample-and-hamming template matcher sized for a Latin set, so CJK is a difference of class count rather than of kind, and the honest cost is the template corpus not the algorithmPros none measured yetCons open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ○ | ○ |
find the text regions on a pageMeasured:mo_text_regions exists in runtime/nx_manga_ocr.nx, verified at emit. MG22 gap watching mo_text_regions. The bubble geometry the compositor already DRAWS is the same geometry the reader must FIND, so this is the inverse of mb_bubble_draw rather than a new discipline Adoption: LIB-GATE-ONLY importers=1 — PARTIAL: imported only by validation organs (gates, tests, benches): wire it into a shipping program.Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSenseiCons not adopted yet: imported only by validation organs (gates, tests, benches): wire it into a shipping program | ● | ○ | ○ | ○ | ○ | ○ |
re-letter the translation back into the bubbleDARK —runtime/nx_manga_ocr.nx EXISTS but does not declare mo_reletter: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. MG23 gap watching mo_reletter. Mask the source text then re-letter with the landed bubble compositor and our own TTF, so a translated page is composed by the SAME organ that composes a generated one. Overflow must refuse rather than silently clip, exactly as mb_bubble_draw already doesPros none measured yetCons open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ○ | ○ |
| RATING | ||||||
minor-exposure refusal at construction, on the manga pathSource present; authored stronger claim:mr_depiction_legal in runtime/nx_manga_rating_lib.nx, verified at emit. MG32 LANDED 2026-09-05, gate 23/23 GREEN. AGE x EXPOSURE, never age x rating. At or above WS_ADULT_AGE the declared age is taken at FACE VALUE with no appearance test and no hold, because youthful-looking adult characters are lawful and a classifier over them would be a false-positive engine policing legal work. Below it and CLOTHED is fine, because minor characters exist in ordinary comics and school stories. Below it and EXPOSED is THE ONE HARD LINE and refuses with MR_E_MINOR at construction. It composes the rule ws_set already enforces per gated zone and IMPORTS WS_ADULT_AGE rather than copying it. The first cut of this row gated on the WORK's rating and would have over-blocked a clothed minor inside a mature story; tooth T16 now asserts the two axes are independent so that cannot recur Adoption: LIB-GATE-ONLY importers=1 — PARTIAL: imported only by validation organs (gates, tests, benches): wire it into a shipping program.Pros Source symbol found; stronger capability claim is authored; ahead of Anifusion, NovelAI, Midjourney, PixAI, DiffSenseiCons not adopted yet: imported only by validation organs (gates, tests, benches): wire it into a shipping program | ◉ | ○ | ○ | ○ | ○ | ○ |
content rating carried as DATA on the assetMeasured:mr_rate_row exists in runtime/nx_manga_rating_lib.nx, verified at emit. MG24 LANDED 2026-09-05, gate 23/23 GREEN. Binding the rating to the ASSET rather than to the account lets one library serve a family viewer and an adult viewer from one store without a second pipeline, and an UNRATED asset maps to the GATED area so an absent rating is never read as innocence. Access itself is delegated to the incumbent nx_taccess_allow rather than re-decided here. Midjourney's 0 is a No by policy rather than by capability. UNPINNED vendor read, see MG31 rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-GATE-ONLY importers=1 — PARTIAL: imported only by validation organs (gates, tests, benches): wire it into a shipping program.Pros Implementing source symbol found; runtime acceptance separate; ahead of Anifusion, Midjourney, DiffSenseiCons not adopted yet: imported only by validation organs (gates, tests, benches): wire it into a shipping program | ● | ○ | ● | ○ | ● | ○ |
no real-person likeness, refused before spendDARK —runtime/nx_realperson_gate.nx EXISTS but does not declare rp_likeness_refuse: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. MG25 gap watching rp_likeness_refuse. The gate already exists in the estate and this row wires it onto the manga path so a likeness request refuses BEFORE GPU spend rather than after publication. Fictional adult content is lawful, and the two lines that stay structural are no minors real or synthetic and no real-person likenessPros none measured yetCons open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ○ | ○ |
| STORY | ||||||
an arc that provably reaches its stated endingOpen — watchingruntime/nx_manga_arc.nx : mac_arc_complete, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. MG30 gap watching mac_arc_complete. ms_beats already partitions every script line into exactly one panel and prints the partition, but nothing yet checks that the beats REACH the ending they declared. The bar is that a generated story states its ending up front and every panel is measured as advancing toward it, which is the difference between panels that merely look sequential and a story that completes rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion, NovelAI, PixAI, DiffSensei; open contract; expected source declaration not established | ○ | ● | ● | ○ | ● | ● |
| STYLE | ||||||
identify and catalogue the style of an ingested workOpen — watchingruntime/nx_manga_style.nx : mst_style_ident, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. MG33 gap watching mst_style_ident. Measurable features taken from the PAGES THEMSELVES -- ink density, screentone frequency, line-weight distribution, panel rhythm, figure proportion -- written as a style row with the work's provenance beside it, so liking a look becomes a reusable parameter set rather than a memory. The rival columns ship curated style presets they authored; none of them derives a style from a work you point at rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion, NovelAI, Midjourney, PixAI; open contract; expected source declaration not established | ○ | ● | ● | ● | ● | ○ |
generate in a catalogued style, personal until licensedOpen — watchingruntime/nx_manga_style.nx : mst_style_apply, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. MG34 gap watching mst_style_apply. The style row drives the generator and carries forward the licence state of the work it was derived from, so the personal-to-commercial boundary travels WITH the style instead of being remembered. A style is not itself copyrightable while a page is, and this row is where that distinction stops being a matter of good intentions rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Anifusion (leads), NovelAI (leads), Midjourney (leads), PixAI (leads); open contract; expected source declaration not established | ○ | ◉ | ◉ | ◉ | ◉ | ○ |
| Class | Count | Note |
|---|---|---|
| rows with rival marks | 24 | rows carrying a Yes, Best or Part in a rival column |
| cited | 2 | a reference mark resolves to a pinned mirror |
| uncited | 22 | an observation read, badged until a reference lands |
| rows, summed | 24 | RECONCILED: the parts sum to the total 24 |
Delivery and evidence
Inspect risks, technical debt, rendered observations, experiments and references. Read scope and limitations alongside every result.
Debt register
| Id | Sev | What it is | Unblock |
|---|---|---|---|
| 1786650261eaten | 6 | Gen daemon generate lane does not land renders. CONFIRMED TWICE, about five hours apart, by count=1 canaries at 832x1216 and 512x768: the POST returns nothing and the recent-cid list comes back BYTE-IDENTICAL both times -- same 48 entries, same head. Reads answer normally, so the daemon is up and only the render path is dead; this is a stopped worker, not a slow one. It is the top blocker in the lane: it holds R5 styles, R10 sketch-to-art, the first generated manga page, and therefore the M1 exceed demo. | Operator action on the box: restart the swarm/laptop gen worker and its keeper task, then one count=1 canary and check nx_gen recent for a NEW cid. Everything downstream is already built and gated and will run the moment a cid appears -- the page compositor, the bubbles, the beat splitter and the character sheet all shipped this session. |
| 1786646407not in this scope | 5 | ARENA-OVERRUN in the shared image-decode path on webp and one jpg: the canary reports a write past the allocation while pixels still render. | Fix the decode lib, then re-run the compositor smoke until the canary lines stop appearing. |
| charjudge-scalenot in this scope | 5 | CHARACTERISED, and the mechanism is a magic number. Ladder on one mesh (face_axis / CHARJUDGE): 192x288 gives 1000/283, 256x384 gives 1000/294, 288x432 gives 1000/285, then 320x480 gives 0/0 and 512x768 gives 0/0 -- a sharp cliff between 288 and 320, not a gradient. Cause, read in nx_charjudge_lib: the face scan accepts an eye pair only when their separation is between 8 and 44 RAW PIXELS, and the search pyramid halves at most three times. So the judge has a bounded working resolution baked into two literals, and above it a real face is simply never inside the window. This also corrected an earlier claim of mine on this page (that the model had no face); the three probes behind it were all at least 320 wide, which is the confound. | Make the eye-separation window relative to the image or to the detected head box rather than absolute pixels, or let the pyramid keep halving until the window is reachable; failing that, print the measuring range in the organ header so callers choose a size deliberately. R4 already renders at 256x384 for this reason, written down in its source rather than left as a lucky default. |
| owed-reconcilenot in this scope | 4 | Now buildable, and the drift it warned about is already REAL: this page carries a sharpened description of debt 1786650261 while the plane still holds the original wording, because I edited the plan file and not the plane. Probing the tool settled the format -- `nx_debt find <scope>` returns one row per line as index, then tab-separated epoch id, severity, scope, state and description, closing with a matched/shown/total envelope. It also settled the DESIGN question: the plane owns STATE (open or eaten, and severity) while the page owns NARRATIVE, so a reconcile should sync state and never overwrite prose in either direction. | Have the regen fork ../nx_debt.elf find <domain> per matrix domain, write the parsed rows beside the matrix, and let the generator take STATE from there while keeping the plan's wording -- the same shape as the watchlist, which already refreshes contracts every run. Then a row whose plane state says eaten stops being displayed as open. |
| magic-anatomynot in this scope | 4 | Rule-11 sweep 2026-08-14 with the estate ruler. At its DEFAULT threshold nx_body_gen and nx_anat_sov both report ZERO magic numbers -- but that is a filtered read. At threshold 2 the honest counts are 510 sites over 107 distinct values in nx_body_gen and 461 over 88 in nx_anat_sov. Most are structural and legitimate (per-mille 1000 appears 87 times, ASCII 48 and 57 in the number parser, degrees 360 and 180 and 90 in the angle maths, byte 255, small strides), but some are POLICY hiding as arithmetic -- the clearest being the anthropometric band boundaries 600 and 764 per-mille in the body profile path. | Hoist the policy-shaped values (the anthropometric band edges first) into the existing canon table rather than a const block, so they can be tuned as data; leave the structural literals named at most. Do it in the body lane with its own gates, and prove neutrality the way this lane did: rebuild and byte-compare the elf. |
| magic-bubblestylenot in this scope | 2 | nx_manga_bubble now names its policy (stroke, ink, paper, leading, margin) as consts and its one mathematical constant (707 per-mille, the largest box inside an ellipse) separately, and the whole refactor rebuilt BYTE-IDENTICAL. But named is not data: the lettering house style still lives in code. | Add a style row beside knowledge/manga/layouts.conf carrying stroke, ink, paper and leading, and read it the way the layout is read. Not via argv position 11 -- that slot is the first word of dialogue. |
| evidence-page-has-no-emitternot in this scope | 4 | Estate-wide, found 2026-08-14 and CONTROLLED. The matrix generator emits an affordance promising an autonomously-generated evidence page whenever a domain declares gates, and that page 404s -- for mangagen AND for videoops, so it is pre-existing and not something this lane introduced. Root cause is a tree split: the generator runs with CWD=buildroot and reads buildroot/knowledge/compare, while nx_swcompare_evidence reads the nishihost knowledge/compare and answers 'matrix file missing -- fail loud'. Nothing emits the page at all. I retired my own gates declaration rather than ship a knowingly dead link, and did not copy data across trees to fake one. | Decide which tree is the compare SSOT and make both organs read it, then have the regen fork the evidence organ per domain and publish the page it links to. The four mangagen gates are real and green by forking (page 9/9, bubble 9/9, script 10/10, charsheet 11/11); the declaration is parked in knowledge/retired and goes straight back once the page has an emitter. |
| owed-5thcol-datanot in this scope | 2 | SCHEMA DONE 2026-08-14, only the data remains. A row is now parsed as five plus the declared column count rather than a fixed nine, the note is read at its computed index instead of position eight, and the liar-kill was WIDENED from exactly four columns to at least four -- which keeps the original guarantee that a domain cannot thin its field while allowing a research bar beside the product field. Backward compatibility was proven rather than assumed: a full regen with every domain still at four columns came back green and the notes on the control domain all render in their correct positions. | Add DiffSensei as a fifth column in this domain's matrix: extend the @cols row and give every capability row its cell, using the paper's own numbers already quoted in Layer 1. Worth adding the layout-conditioned generation row at the same time, since that is the axis the research bar exposes and no product column shows. |
Risk register
| Risk | Likelihood x impact | Mitigation |
|---|---|---|
| The gen worker is a single point and is down, blocking R5 and the first generated page | likely x high | Revive plus a keeper and a watchdog beat; run a canary generate before any batch. |
| Estimates rest on one calibration point (R1), so the unit is a bound rather than a measurement | certain x medium | Recalibrate on every landed rung and publish actual against estimate; R2 and R3 both landed inside one leg each, which is the first corroboration. |
| A watch contract flips on the symbol existing, so a stub could read green | possible x high | The done-rule proven by a gate is the bar; the flip is the receipt. R1, R2 and R3 each shipped with a gate before their contract was allowed to count. |
| Encoding instrument changes touches the generator serving every matrix domain | possible x medium | Schema version, one-domain canary, content-diff and compare-and-swap promote; plan-less domains emit unchanged by construction. |
| Bench and batch work contends with generation capacity on one box | possible x low | Ask the spend gate before sweeps, run off-peak, publish box receipts beside the result. |
Release history and work log
| When | Rung | Kind | Entry |
|---|---|---|---|
| 2026-09-05 | MG20 | retract | MG20 was authored on 2026-09-05 as a NEW organ nx_manga_licence carrying ml_licence_row. RETRACTED within the hour by READING the modding board rather than by scoring names: nx_licgate_lib already ships lg_verdict, and MD9 already contracts asset_provenance_row on that lib with the identical field set -- source url, content sha, licence class, redistribution flag, class UNKNOWN refusing export while private use stays allowed. The matrix row and this rung now point at the incumbent and the estimate drops from 1 u to 0.5 u. Note that nx_spendgate ranked nx_licdetect and nx_acquire_license as the nearest names and NEITHER was the real incumbent, which is exactly why that tool publishes a list instead of a verdict |
| 2026-09-05 | MG20 | queue | Operator 2026-09-05 named the full loop -- point at a source site, ingest, translate if not in English, display panel by panel in the gallery, catalogue the style if liked, use it in a gen for personal use or license if commercial, and generate new stories panel by panel that logically progress to completion. SFW and NSFW, lawful, including fantasy roleplay premises. The ladder is re-staged to that sequencing |
| 2026-09-05 | MG20 | measure | MEASURED BEFORE AUTHORING, and the ingest half is far more built than this plan claimed. na_detect, na_nhentai_api, na_nhentai_build, na_nhentai_from_page, na_mangadex_api, na_mangadex_build and na_mangadex_meta_api all exist in nx_manga_sites; mg_gallery_to_pages and mg_write_cbx exist in nx_manga_get; rp_detect and rp_order with an rtl flag exist in nx_reader_panels; rl_add_personal and rl_promote_to_shared exist in nx_reader_library; asm_assemble exists in nx_ocr_assemble. NONE of it was on this board, so the board was stale in the PESSIMISTIC direction, which is the class nobody audits |
| 2026-09-05 | R1 | land | The four mangagen organs were PROMOTED-UNREGISTERED and therefore uncallable by anything on the estate. nx_manga_page, nx_manga_bubble, nx_manga_script and nx_manga_charsheet were each registered 2026-09-05 and each returned callable 1 |
| 2026-09-05 | R5 | measure | Gen worker canary CONFIRMS debt 1786650261 three weeks on -- nx_gen generate returned no gpu worker available, no candidate passed its TCP health probe. The operator reports the worker is a laptop off the swarm, so this is keeper or process state rather than dead code, and every downstream organ is built and gated |
| 2026-09-05 | MG32 | lesson | A cell that flips because a symbol exists SOMEWHERE is not a capability on THIS path. The first draft of the RATING section named ws_set as a landed mangagen row; ws_set is real and mutation-proven but lives in the character lane, so the row was corrected to a watch on mr_adult_invariant with the substrate named in the note. A completion signal that keys on a name rewards writing the name |
| 2026-09-05 | MG24 | measure | INCUMBENT FOUND BEFORE BUILDING THE RATING ORGAN. nx_torrent_access already ships the fail-closed VIEWER-LEVEL decision, from an operator directive of 2026-06-20 -- nx_taccess_allow(viewer_level, area) with OWNER 3, FAMILY 1, ANON 0, and areas SFW 0 requiring FAMILY and NSFW 1 requiring OWNER. That is the ACCESS half and it must be COMPOSED, never re-implemented. What is genuinely absent is the RATING half: today the AREA, meaning which destination a work landed in, is the ONLY signal, and a folder is a coarse proxy for what an asset actually contains. mr_rate_row binds a rating to the ASSET at emit and maps it onto the existing area and level model, so one library serves a family viewer and an adult viewer without a second pipeline AND without a second access ruler. Two incumbents were found this way in one session -- nx_licgate_lib for licence and nx_torrent_access for access -- both by reading a sibling board rather than by scoring names |
| 2026-09-05 | R1 | measure | GATE NON-VACUITY RE-MEASURED PROPERLY 2026-09-05, and the earlier BITTEN-BUT-VACUOUS killed=0 reading was NOT proof of vacuity. Run in END-TO-END mode with the mandatory subject keyword -- nx_gate_bite nx_manga_page_gate runtime/nx_manga_page.nx 2 subject nx_manga_page -- it returned valid_mutants=2 killed=0 not_reached=0 void_build_lane=6. SIX OF EIGHT MUTANT BUILDS WERE REFUSED BY BUILD ADMISSION with exit 6 while the compare regen was running, so there was almost no coverage from which to draw any conclusion. Custody was clean: restore verified byte-identical at 12088 bytes, twin RESTORED, mutant_live=0. THE REMEDY IS A RE-RUN ON A QUIET BOX WITH MORE SITES, never a gate edit |
| 2026-09-05 | R1 | lesson | THE MISDIRECTED-GATE VERDICT IS A FALSE POSITIVE FOR A BINARY-INTERFACE GATE. nx_gate_bite reported that no named phrase of the gate appears in the declared subject and concluded the .gates 4th field is likely the wrong file. IT IS NOT -- the map declares runtime/nx_manga_page.nx, which is correct and was STAT'd present at admission. The needle operator ASSUMES a gate and its subject share string literals; nx_manga_page_gate asserts on STRUCTURE instead, forking the promoted elf twice and requiring the two read orders to DISAGREE. A gate whose interface with its subject is an image or an ordering has NO shared phrases to find, so present_in_subject=0 is EXPECTED there and is not evidence of misdirection. Editing a correct map to satisfy that heuristic would have destroyed a good declaration and left the real cause -- the throttled build lane -- untouched |
| 2026-09-05 | MG24 | land | nx_manga_rating authored 2026-09-05 for MG24 and MG32. It COMPOSES both incumbents and redeclares neither: nx_taccess_allow decides access from the AREA, and WS_ADULT_AGE is imported from nx_wardrobe_state rather than copied, because the same threshold written twice is two constants that can drift. The load-bearing property is that mr_area_for_rating maps UNRATED to the NSFW area, so an asset nobody has rated is GATED rather than assumed safe, and every mapping fails toward the more restrictive side |
| 2026-09-05 | MG32 | retract | THE DEPICTION RULE WAS AUTHORED WRONG AND WAS CORRECTED BY THE OPERATOR THE SAME HOUR. The first cut was mr_adult_invariant(subject_age, RATING): a subject below WS_ADULT_AGE could not carry a MATURE-or-above rating. That is the WRONG AXIS and it OVER-BLOCKS -- it would have refused a fully clothed minor character inside a MATURE-rated story, which is ordinary lawful content in any school-life or coming-of-age comic. The rating of a WORK says nothing about whether a given FIGURE is lawfully depicted. Replaced by mr_depiction_legal(subject_age, exposed): AGE x EXPOSURE, which is the same line ws_set already enforces per gated zone. Two axes, deliberately separate -- RATING governs WHO MAY VIEW, EXPOSURE governs WHAT MAY BE DEPICTED -- and gate tooth T16 now asserts that independence so no future seat can re-conflate them |
| 2026-09-05 | MG32 | lesson | A QUARANTINE ON APPEARANCE WAS PROPOSED AND CORRECTLY REFUSED BY THE OPERATOR. The proposal was a third state for a declared-adult character who renders youthful or petite, on the theory that a declared age is a claim while a render is a measurement. The operator refused it: at or above 18 that content is lawful and we do not touch it. The engineering reason the refusal is right and not merely a preference -- an appearance classifier over lawful adult work is a FALSE-POSITIVE ENGINE, and this estate already holds that a detector with false positives is worse than none, because it teaches every reader to ignore it. mr_depiction_legal therefore takes the declared age at face value above the threshold, with NO appearance test and NO hold anywhere in the lane. THE ONLY HARD LINE IS BELOW-AGE AND EXPOSED |
| 2026-09-05 | MG24 | land | nx_manga_rating shipped as a THREE-FILE lib+CLI+gate split rather than one organ, so the decision has ONE home and the CLI and the gate cannot drift into two answers. nx_manga_rating_lib holds every rule; nx_manga_rating is a thin CLI; nx_manga_rating_gate tests the lib IN-PROCESS at 23/23 GREEN, emitting adult_age=18 area_unrated=1 area_allages=0 area_adult=1 serve_family_unrated=0 serve_family_allages=1 serve_owner_adult=1 so a second method can CONTRADICT the gate rather than trust it. Every refusal tooth is paired with a positive control, because a guard that denies everything passes every deny test ever written |
| 2026-09-05 | R1 | land | BOARDS PUBLISHED AND VERIFIED LIVE by the regen receipt, not by assertion: mangagen api.json 11179 -> 20296 and index.html 88364 -> 131733; gen api.json 55028 -> 58229 and index.html 180981 -> 193122. The prev= field is the acceptance test -- prev= EQUAL to the new byte count is what published nothing looks like, and none of these four were equal. Regen closed published=227 fails=3, and those three are pre-existing domains failing their own present-under-5 liar-kill rather than anything this lane touched |
| 2026-09-05 | R1 | measure | THE PUBLISHER WAS RUNNING A STALE GENERATOR AND ITS OWN FORK-FRESHNESS CHECK CAUGHT IT. _offc/nx_swcompare_sota.elf was FORK-BEHIND at 233912 bytes against a PROMOTED 245776, so every SOTA page in that run was published by a binary 11864 bytes behind the one that was promoted. nx_restage refreshed it from PROMOTED and it now matches at 245776. THREE ROOTS MEANS THREE CHECKS: a plain promote leaves buildroot/_offc stale, and nx_catalog cannot see that root at all, which is why four independent agents missed this class before the check existed |
| 2026-09-05 | R5 | land | TOP BLOCKER CLOSED 2026-09-05. The gen lane renders again: nx_gen generate count=1 at 832x1216 returned ms=149000 and a NEW cid private-ref:1e184ee2, which is exactly the acceptance test debt 1786650261 pre-declared -- one count=1 canary producing a new cid. R5 style packs, R10 sketch-to-art, the first generated page and the M1 exceed demo are all unblocked, and NOTHING was restarted on the laptop |
| 2026-09-05 | R5 | retract | THE THREE-WEEK DIAGNOSIS WAS WRONG AND SO WERE TWO OF MINE. Debt 1786650261 said a stopped swarm/laptop GPU worker, remedy restart the worker plus keeper. FALSE. The laptop had moved 192.168.8.192 -> 192.168.8.193 by DHCP, exactly the flap swarm_nodes.conf documents in its own header, and the row was stale. MEASURED by nx_modelprobe composing the incumbent nx_http_client: GET /v1/models at .192:7861 = CONNECT_FAIL bytes=-1, at .193:7861 = HTTP/1.1 200 OK bytes=296. Fixed as a ROW EDIT, which is what that file mandates. MY OWN TWO ERRORS, recorded because both were instrument-trust failures: first I claimed the worker was unreachable from the NAS WITHOUT RUNNING A PROBE, when nx_swarm_discover, nx_swarm_gpu, nx_swarm_endpoint, nx_swarm_heal and nx_worker_dispatch were all available and capped; then I claimed the worker was alive and the probe defective, because I trusted nx_worker_dispatch over a controlled probe |
| 2026-09-05 | R5 | lesson | nx_worker_dispatch IS THE DEFECTIVE INSTRUMENT AND IT FAILS IN THE FLATTERING DIRECTION. It reported WORKER REACHABLE HTTP 200 for gpu-image at 192.168.8.192:7861 -- an address that CONNECT_FAILs -- while printing ARENA-OVERRUN prev_alloc_size=256 in the SAME output. It echoes the CONF ROW as its label rather than the address that actually answered, so it makes a dead endpoint look alive. np_probe_up was CORRECT the whole time and I overrode it. A verdict from an instrument announcing memory corruption must never outrank a controlled one, and the control is what settles it: nx_netprobe_ladder held the address fixed, varied only the bound over 500 to 15000 ms, and carried .193 UP as a positive control and .253 DOWN as a neg-control, so the probe was proven neither blind nor credulous BEFORE its verdict was believed |
| 2026-09-05 | R5 | lesson | THE TIMEOUT HYPOTHESIS WAS REFUTED BY THE INSTRUMENT BUILT TO TEST IT. I expected the 2000 ms bound in np_probe_up to be the cause and built the ladder to prove it; .192 read DOWN at 500, 2000, 5000 AND 15000 ms, so no flip, hypothesis dead. Building the experiment that can REFUTE the theory before writing the fix is the only reason a wrong fix was not shipped into a shared liveness probe |
| 2026-09-05 | MG22 | land | MG22 mo_text_regions LANDED, gate 10/10 GREEN. nx_manga_ocr composes nx_reader_panels rp_rowink and rp_colink rather than growing a second ink scanner, because panel detection and text detection are the same projection machinery at different scales. The gate grades against a PLANTED ink map so the expected answer is exact arithmetic rather than an eyeball, and its anti-vacuity pair is the whole argument: T3 requires two blocks 15 rows apart to stay TWO, T4 requires two lines one row apart to merge into ONE, and no single wrong rule passes both. This rung needed NO corpus and NO GPU, which is why it was wrong of me to lump it in with MG21 CJK recognition |
| 2026-09-05 | MG32 | measure | HAZARD NAMED, NOT PROMOTED. nx_manga_rating_gate shows STAGED 38704 B against BUILT 33156 B: the staged artifact PREDATES the depiction-axis correction and is the 21/21 version that gated on age x RATING. Promoting the queued BQ-nx_manga_rating_gate row would ship the conflated-axis gate over the corrected one. The correct artifact is the 33156 B build that passes 23/23. Re-stage from the current source before any promote |
| 2026-09-05 | MG32 | retract | THE STAGED-ARTIFACT HAZARD I FILED ONE ENTRY ABOVE WAS A FALSE ALARM AND IS WITHDRAWN. I read nx_manga_rating_gate STAGED 38704 B against BUILT 33156 B and concluded the staged copy predated the depiction-axis correction. WRONG, and wrong by the exact mechanism this estate already documents: 38704 came from the /api/build lane and 33156 from nx_sov_build_run, and those two lanes differ by 6 to 17 percent on IDENTICAL source -- 16.6 percent here. I READ A LANE DIFFERENCE AS A VINTAGE DIFFERENCE. Settled by BYTES rather than by arithmetic: the corrected tooth literal neg-control-minor-exposed is PRESENT in the staged binary (count=1) and the old conflated literal neg-control-minor-at-adult is ABSENT (count=0), so the staged artifact was the corrected gate all along. A tooth NAME is a string in the binary, which makes it a free discriminator for which source an artifact was built from -- reach for that before inferring vintage from size. PROMOTED f7518729 38704 B with expect_sha256, prev banked |
Person · product · place — not yet measured for this domain
knowledge/compare/mangagen.ppp (rows surface|nishi or c1..c4|label|url|connect naming OUR live surface and each rival's front door), run nx_ppp_probe domain mangagen, and this section fills itself on the next beat: the same ruler on both sides — privacy and CX (third-party hosts, tracker classes, cookies, security headers), design and longevity (design hygiene, computed WCAG contrast, render-blocking resources, unsized media, script weight, theme and motion queries), findability (landmarks, skip link, on-site search, breadcrumb, headings, internal links).The field — discovered, not chosen
Rows written by nx_field_discover from mangagen.seeds: the industry's own lists (Wikipedia wikitext, GitHub topics, awesome lists) read mechanically, every candidate counted across seeds. The matrix columns above are a SEAT'S pick; this band is the population they were picked from, and the stats line measures one against the other. A rival here is a lead, never a verdict — it earns a column when its capabilities are read and pinned.
| Class | Count | Note |
|---|---|---|
| seeds | 1 | |
| scanned | 1 | |
| fetched | 1 | |
| reused | 0 | |
| failed | 0 | |
| named | 1 | |
| candidates | 1 | |
| mentions | 1 | |
| capped | 0 |
| Rank | Rival | Seeds | Mentions | First seed | Kind | Link |
|---|---|---|---|---|---|---|
| 1 | Anifusion | 1 | 1 | col0-anifusion | named | https://anifusion.ai/ |
field candidates 1|shown 1 of 1|matrix columns in the field 1 of 5|discovered rivals with no column 0|malformed rows 0 (counted, never rendered)|read-capped 0
Exclusive and shared capabilities
This board grades 45 capabilities: 34 exclusive to it and 11 shared with other boards. Shared rows on this page: 11 = home here 0 + home elsewhere 1 + ambiguous 0 + undecided 10 + refused 0 (partition 11); undecided = unmapped 0 + unproven 10 + unevidenced 0; homonyms 1; since the previous census: new 0, resolved 0. Census FRESH age_s=6553.
| Capability | Organ | Boards grading it | Home | Rule | Evidence | Standing on this board |
|---|---|---|---|---|---|---|
| sg_legal | nx_skelgen.nx | mangagen, charsim, anatomy, gameengine | — | none | unproven | undecided |
| sg_fk | nx_skelgen.nx | mangagen, charsim | — | none | unproven | undecided |
| cjc_hw | nx_charjudge.nx | mangagen, charsim+, graphics, koikatsu*, gen | koikatsu | rung | plan | home elsewhere adopt: @xrow koikatsu|cjc_hw|home by rung (fleet duplicate census) |
| cm_ctx | nx_charmem.nx | mangagen, charsim, npcai, companionchat | — | none | unproven | undecided |
| si_hex | nx_galx_saveimg.nx | mangagen, gen | — | none | unproven | undecided |
| do_rank | nx_gen_rank.nx | mangagen, sharehub, gen | — | none | unproven | undecided |
| go_image_symmetry | nx_image_symmetry_lib.nx | mangagen, gen, aesthetictwin | — | none | unproven | undecided |
| le_prompt | nx_galx_lora_export.nx | mangagen, koikatsu, sharehub, mediaingest | — | none | unproven | undecided |
| lt_train_deploy | - | mangagen:runtime/nx_galx_lora_train.nx, gen:runtime/nx_lora_train.nx | — | homonym | - | homonym |
| m_joints | nx_bvhmotion.nx | mangagen, charsim, graphics, koikatsu, gameengine, motion | — | none | unproven | undecided |
| nx_pdf_extract_text | nx_pdf_text.nx | mangagen, sovereignty | — | none | unproven | undecided |
| rl_promote_to_shared | nx_reader_library.nx | mangagen, sharehub | — | none | unproven | undecided |
Gaps from the record — what the estate does that no board carries
The record census (nx_goalmap record) reads the invoked-tool population and every plan queue row and files each organ or directive that NO matrix, plan or gates row names. A row here is a callout the boards missed: adjudicate it onto a board or declare it infrastructure. Census state STALE (age 1395658 s), sources read 4 of 7 declared — a BLIND census is a FLOOR: unread sources can only add rows.
| kind | name | board | source | evidence |
|---|
rows shown 0|this board's directives 0|estate-wide un-boarded organs 452 (listed in full on /compare/ecosystem)|census rows 639|malformed 0 (counted, never rendered)
References
- [diffsensei25] Wu, Hu, Xu et al. DiffSensei: Bridging Multi-Modal LLMs and Diffusion Models for Customized Manga Generation. CVPR 2025. publisher · read in our library
knowledge/fetched/cmp_mangagen_diffsensei25.html· pinhd45209cb63fe91d3380b45c1805c042e5c23d079435fb2e90df9d201efc92064· accessed 2026-08-18 · published-paperGrounds: The research bar in Layer 1: F1 0.727 and DINO-C 0.651 on MangaZero, read from the paper's own Tables 2a/2b/3 (fetched via arXiv HTML 2026-08-13; the CVF PDF 403s our fetcher); R11 layout conditioning is the axis it exposes and R12 publishes our row beside theirs. - [mangazero25] MangaZero: the manga dataset introduced by the DiffSensei paper (427k annotated panels with character boxes and dialogue). publisher · read in our library
knowledge/fetched/cmp_mangagen_diffsensei25.html· pinhd45209cb63fe91d3380b45c1805c042e5c23d079435fb2e90df9d201efc92064· accessed 2026-08-18 · datasetGrounds: R12 runs the paper's own protocol on it and publishes our FID/CLIP/DINO/F1 row -- a grade-1 external referee, never our own scoring; also the named public training data for the script-to-beats lane. - [msdiffusion24] MS-Diffusion: multi-subject image generation with layout guidance -- the strongest baseline in DiffSensei's own comparison (F1 0.720, next best after theirs). publisher · read in our library
knowledge/fetched/cmp_mangagen_msdiffusion24.html· pinh2cc0958699e0b67c67832c29b5e16605817071b8e547ba714a2e64f7c0311173· accessed 2026-08-18 · published-paperGrounds: Layer 1 quotes the full baseline field; our bench row lands beside BOTH published numbers or it does not land. - [anifusion] Anifusion feature page: the 16-feature product inventory this board's parity codes were enumerated from (fetched 2026-08-13). publisher · read in our library
knowledge/fetched/cmp_mangagen_anifusion.html· pinha4bd28e14318d24a666ecdb80244499824b81216bebc42ad545dbb5a7951ccac· accessed 2026-08-18 · vendor-docGrounds: The product columns: closed commercial products with no version feed, so every rival code is a declared vendor-claim read per the admission standard, never a benched number.
generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/mangagen.matrix · source checks show implementation presence; runtime and user-outcome evidence are reported separately · JavaScript supports page controls