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.

The unit. 1 u = one measured session-leg. Calibration: R1, the panel compositor, went from existing substrate to shipped, registered and live-verified in a single leg on 2026-08-13. Estimates recalibrate as each rung lands.
Cost to product parity: 12.5 u. All nine authoring gaps. Canvas (3 u) and the training loop (2 u) are the long poles and both defer behind the creator loop.
Cost to the exceed demo: 3 u. Reachable BEFORE parity: sheets, then the identity judge wired across a sheet, then layout conditioning by the deterministic path -- one character provably identical across every panel of a composed page.
Cost to meet the research bar: 2 u. R11 by path A. On the deterministic path it is not an add-on to parity, it IS the exceed.

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 history and work log

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 classWhat it is, and the work it names
FLIP-READYA 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.
This band reports the referee counts. The per-axis worklist rows — which axis is unsupported, which watch is ready to flip, which gap is unnamed — are printed by 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

RungCloses withDefinition of done (pre-declared)ExecutorEst.
Style packs (R5)gen_style_packStyle rows as data; distinct styles must measure distinct -- a row that changes nothing is a defect to rewrite, never deleteLocal model0.5 u
Speech bubbles (R2)
after R5
mb_bubble_drawBubble geometry, tails and sovereign TTF raster; overflow REFUSES, never silently clipsOrgan1 u
Script to beats (R3)ms_beatsEvery script line lands in exactly one panel; the partition is printedOrgan1 u
Character sheets (R4)mcs_sheet_emitLegality-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.Organ1 u
Layout-conditioned generation (R11)
after R1,R4
mp_scene_conditionCharacters 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 diffusionOrgan2 u
MangaZero bench (R12)
after R11
mz_bench_runRun 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 model1.5 u
Print export (R6)me_pdf_emitPDF and CBZ emit; our own reader must read the PDF back (the referee already exists)Organ2 u
Video animatic (R8)
after R6
ma_animatic_emitPan and zoom page traversal through the sovereign codec; vqoe and frame-score floorsOrgan1 u
Training loop (R9)lt_train_deployFavorites to dataset to train to deploy; the tuned model must EXCEED baseline on the same prompts under the judge panel or it is not wiredLocal model2 u
Sketch to art (R10)gen_img2imgimg2img entry on the gen daemon; fidelity and quality judgedLocal model1 u
Canvas editor (R7)mc_canvas_wasmWasm-owned layered editor under the interop law; edit ops replay deterministicallyOrgan3 u

Milestones

MilestoneRungsCumulative
M0 · Creator loop usableR5,R2,R3,R43.5 u
M1 · Exceed demo publishedR4,R115.5 u
M2 · Our row in the research tableR127 u
M3 · Full product parityR6,R8,R9,R10,R712.5 u
RungCloses withDefinition of done (pre-declared)ExecutorEst.
Adopt the incumbent licence ruler on the manga ingest path (MG20)asset_provenance_rowSHARED 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 passOrgan0.5 u
CJK glyph recognition (MG21)oc_cjk_classifyA 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 regressOrgan2 u
Text regions on a page (MG22)mo_text_regionsFind 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 oursOrgan1 u
Translated re-lettering (MG23)
after MG21,MG22
mo_reletterMask 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 stringOrgan1.5 u
Content rating as data (MG24)mr_rate_rowA 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 safeOrgan1 u
Real-person likeness refusal (MG25)rp_likeness_refuseA 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 testOrgan1 u
Arc completes to its stated ending (MG30)mac_arc_completeA 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 vacuousOrgan2 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 markLocal model0.5 u
Wire the adult invariant onto the manga path (MG32)
after MG24
mr_adult_invariantws_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 unverifiedOrgan1 u
Identify and catalogue a style (MG33)
after MG20
mst_style_identStyle 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 nothingOrgan2 u
Generate in a catalogued style (MG34)
after MG33,R5
mst_style_applyThe 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 panelOrgan2 u

Milestones

MilestoneRungsCumulative
M4 · Ingest, read and rate loop closedMG20,MG24,MG253 u
M5 · Translation loop closedMG21,MG22,MG234.5 u
M6 · Style catalogue and reuseMG33,MG344 u
M7 · Story provably completesMG302 u
Ladder verdict. NOT DECLARED. This board names no dated best-in-class or frontier target and no rung roles (sotatarget and rungrole rows on its plan); the ranker labels it NO-LADDER until it does, and until then its rungs climb toward a target nobody has written down. Bars read NO-BAR against the current month 2026-10.
Bar freshness, counted
ClassCountNote
bars0sotabar rows on the plan
fresh0the bar month is the current month
attested0an older bar with a this-month barscan reporting no newer entry
stale0a this-month scan saw a newer month the bar ignores
unattested0nobody looked this month
malformed0a sotabar row missing a field
duplicate0bar ids an earlier row already carries
bars, summed0RECONCILED: the parts sum to the total 0
current month2026-10the month every bar is judged against
Treatment verdict. NOT DECLARED. No rung on this board declares its three-step treatment (a treat row naming the MCP row, the API route, the primitive it composes, the workflow that composes it and the agent beat that runs it); the ranker labels every rung TREATMENT-UNDECLARED until it does.

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

Joined by symbol, never typed. Each dossier is assembled on every publish from the rows this board already carries: the plan's rung row, the matrix row that carries its contract symbol (its status re-measured by the one symbol ruler), the gate the organ declares and the verdict the evidence referee recorded on its last run, the reference marks in the rung text, the design rows that name the rung and the work log filed against it. The capability matrix links each cell to its dossier and each dossier links back to its cell and forward to the rungs it stands on; a dependency naming no rung on this plan is written as UNRESOLVED rather than linked. Absences are named: NO-MATRIX-ROW, NO-GATE-DECLARED, UNRECORDED.
Gate verdicts: UNSTAMPED — no per-gate verdict artifact is published for this domain yet (nx_swcompare_evidence mangagen writes it beside its stamp); every gate below reads UNRECORDED until it runs.
Gate declarations: 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
Contractgen_style_pack · executor Local model · 0.5 u · stands on nothing
Definition of doneStyle rows as data; distinct styles must measure distinct -- a row that changes nothing is a defect to rewrite, never delete
Matrix cellGEN: style-pack breadth (50+ named styles) · runtime/nx_gen.nx · WATCHING decl
GateNO-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 log2026-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
Contractmb_bubble_draw · executor Organ · 1 u · stands on R5
Definition of doneBubble geometry, tails and sovereign TTF raster; overflow REFUSES, never silently clips
Matrix cellTEXT: speech-bubble compositor · runtime/nx_manga_bubble.nx · LANDED decl
GateNO-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 logno log row names this rung yet
R3 Script to beats · cell LANDED · gate NO-GATE-DECLARED
Contractms_beats · executor Organ · 1 u · stands on nothing
Definition of doneEvery script line lands in exactly one panel; the partition is printed
Matrix cellSCRIPT: script-to-panel beats · runtime/nx_manga_script.nx · LANDED decl
GateNO-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 logno log row names this rung yet
R4 Character sheets · cell PRESENT · gate NO-GATE-DECLARED
Contractmcs_sheet_emit · executor Organ · 1 u · stands on nothing
Definition of doneLegality-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 cellCHAR: character sheets / turnarounds · runtime/nx_manga_charsheet.nx · PRESENT decl
GateNO-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 logno log row names this rung yet
R11 Layout-conditioned generation · cell WATCHING · gate NO-GATE-DECLARED
Contractmp_scene_condition · executor Organ · 2 u · stands on R1 (UNRESOLVED: no such rung on this plan), R4
Definition of doneCharacters 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 cellPAGE: layout-conditioned generation · runtime/nx_manga_scene.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
R12 MangaZero bench · cell NO-MATRIX-ROW · gate NO-MATRIX-ROW
Contractmz_bench_run · executor Local model · 1.5 u · stands on R11
Definition of doneRun 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 cellNO-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.
Gatethe gate join needs a matrix row: no organ is named for this rung
Work logno log row names this rung yet
R6 Print export · cell WATCHING · gate NO-GATE-DECLARED
Contractme_pdf_emit · executor Organ · 2 u · stands on nothing
Definition of donePDF and CBZ emit; our own reader must read the PDF back (the referee already exists)
Matrix cellEXPORT: print-ready PDF/CBZ emit · runtime/nx_manga_export.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
R8 Video animatic · cell WATCHING · gate NO-GATE-DECLARED
Contractma_animatic_emit · executor Organ · 1 u · stands on R6
Definition of donePan and zoom page traversal through the sovereign codec; vqoe and frame-score floors
Matrix cellVIDEO: image-to-video generation · runtime/nx_manga_animatic.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
R9 Training loop · cell WATCHING · gate NO-GATE-DECLARED
Contractlt_train_deploy · executor Local model · 2 u · stands on nothing
Definition of doneFavorites 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 cellTRAIN: train -> deploy -> A/B loop · runtime/nx_galx_lora_train.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
R10 Sketch to art · cell WATCHING · gate NO-GATE-DECLARED
Contractgen_img2img · executor Local model · 1 u · stands on nothing
Definition of doneimg2img entry on the gen daemon; fidelity and quality judged
Matrix cellSKETCH: realtime sketch-to-art · runtime/nx_gen.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
R7 Canvas editor · cell WATCHING · gate NO-GATE-DECLARED
Contractmc_canvas_wasm · executor Organ · 3 u · stands on nothing
Definition of doneWasm-owned layered editor under the interop law; edit ops replay deterministically
Matrix cellCANVAS: layered editor workspace · runtime/nx_manga_canvas.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
MG20 Adopt the incumbent licence ruler on the manga ingest path · cell WATCHING · gate NO-GATE-DECLARED
Contractasset_provenance_row · executor Organ · 0.5 u · stands on nothing
Definition of doneSHARED 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 cellLICENCE: provenance and licence row on every ingested work · runtime/nx_licgate_lib.nx · WATCHING decl
GateNO-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 log2026-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
Contractoc_cjk_classify · executor Organ · 2 u · stands on nothing
Definition of doneA 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 cellTRANSLATE: CJK glyph recognition · runtime/nx_ocr_cjk.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
MG22 Text regions on a page · cell LANDED · gate NO-GATE-DECLARED
Contractmo_text_regions · executor Organ · 1 u · stands on nothing
Definition of doneFind 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 cellTRANSLATE: find the text regions on a page · runtime/nx_manga_ocr.nx · LANDED decl
GateNO-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 log2026-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
Contractmo_reletter · executor Organ · 1.5 u · stands on MG21, MG22
Definition of doneMask 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 cellTRANSLATE: re-letter the translation back into the bubble · runtime/nx_manga_ocr.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
MG24 Content rating as data · cell PRESENT · gate NO-GATE-DECLARED
Contractmr_rate_row · executor Organ · 1 u · stands on nothing
Definition of doneA 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 cellRATING: content rating carried as DATA on the asset · runtime/nx_manga_rating_lib.nx · PRESENT decl
GateNO-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 log2026-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
Contractrp_likeness_refuse · executor Organ · 1 u · stands on nothing
Definition of doneA 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 cellRATING: no real-person likeness, refused before spend · runtime/nx_realperson_gate.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
MG30 Arc completes to its stated ending · cell WATCHING · gate NO-GATE-DECLARED
Contractmac_arc_complete · executor Organ · 2 u · stands on nothing
Definition of doneA 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 cellSTORY: an arc that provably reaches its stated ending · runtime/nx_manga_arc.nx · WATCHING decl
GateNO-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 logno 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 doneEvery 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 cellNO-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.
Gatethe gate join needs a matrix row: no organ is named for this rung
Work logno log row names this rung yet
MG32 Wire the adult invariant onto the manga path · cell NO-MATRIX-ROW · gate NO-MATRIX-ROW
Contractmr_adult_invariant · executor Organ · 1 u · stands on MG24
Definition of donews_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 cellNO-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.
Gatethe gate join needs a matrix row: no organ is named for this rung
Work log2026-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
Contractmst_style_ident · executor Organ · 2 u · stands on MG20
Definition of doneStyle 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 cellSTYLE: identify and catalogue the style of an ingested work · runtime/nx_manga_style.nx · WATCHING decl
GateNO-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 logno log row names this rung yet
MG34 Generate in a catalogued style · cell WATCHING · gate NO-GATE-DECLARED
Contractmst_style_apply · executor Organ · 2 u · stands on MG33, R5
Definition of doneThe 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 cellSTYLE: generate in a catalogued style, personal until licensed · runtime/nx_manga_style.nx · WATCHING decl
GateNO-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 logno 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.

Rows. 45 feature rows mapped of 45 matrix rows; 0 substrate rows (kernels, bounds and instruments the plan's rungrole marks substrate) are the estate's scaffolding, not category features, and stay off the map
Views. 2D cut: centrality, distinctiveness · 3D cube: centrality, distinctiveness, breadth · axes registered: centrality, distinctiveness, breadth, depth, momentum · a board picks its own in knowledge/compare/mangagen.cdmap (cut|x|y, cube|x|y|z); absent = the HBR defaults
Position map, two-dimensional cutOne bubble per player. Bubble area is breadth, the ring colour is momentum, the dashed lines are the category means, and both axes are fitted to the field of play with their tick numerals shown. Every value is repeated in the table that follows. 300 400 500 600 700 800 900 200 300 400 500 600 centrality (permil, fitted 300–900) distinctiveness (permil, fitted 200–600) mean 630 mean 342 Unconventional Aspirational Peripheral Mainstream Nishi, centrality 678, distinctiveness 550, breadth 503, depth 731, momentum 0 Anifusion, centrality 785, distinctiveness 419, breadth 400, depth 857, momentum 0 NovelAI, centrality 696, distinctiveness 285, breadth 296, depth 740, momentum 0 Midjourney, centrality 392, distinctiveness 237, breadth 155, depth 777, momentum 0 PixAI, centrality 767, distinctiveness 296, breadth 333, depth 750, momentum 0 DiffSensei, centrality 464, distinctiveness 266, breadth 162, depth 564, momentum 0 Nishi Anifusion NovelAI Midjourney PixAI DiffSensei

bubble 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)
Position map, three-dimensional cubeThe same players in an isometric cube. Each axis is fitted to its own field of play and carries numerals on the floor grid and the vertical axis; each bubble drops a dotted line to its floor shadow so height reads as height. Values are in the table that follows. 300 400 500 600 700 800 900 200 300 400 500 600 100 200 300 400 500 600 centrality distinctiveness breadth Midjourney: centrality 392, distinctiveness 237, breadth 155 DiffSensei: centrality 464, distinctiveness 266, breadth 162 NovelAI: centrality 696, distinctiveness 285, breadth 296 PixAI: centrality 767, distinctiveness 296, breadth 333 Anifusion: centrality 785, distinctiveness 419, breadth 400 Nishi: centrality 678, distinctiveness 550, breadth 503 Nishi Anifusion NovelAI Midjourney PixAI DiffSensei
axes fitted: centrality 300–900 · distinctiveness 200–600 · breadth 100–600 permil · farther bubbles are painted first, nearer ones over them · the floor shadow is each bubble's (x, y) at height 0
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
Position map, small multiplesEvery pair of registered axes as one small cut. Each panel fits both axes to the field of play, the dashed lines are the category means, bubble area is breadth and the ring colour is momentum; the legend below names the colours. 300 900 200 600 distinctiveness vs centrality Nishi: centrality 678, distinctiveness 550 Anifusion: centrality 785, distinctiveness 419 NovelAI: centrality 696, distinctiveness 285 Midjourney: centrality 392, distinctiveness 237 PixAI: centrality 767, distinctiveness 296 DiffSensei: centrality 464, distinctiveness 266 300 900 100 600 breadth vs centrality Nishi: centrality 678, breadth 503 Anifusion: centrality 785, breadth 400 NovelAI: centrality 696, breadth 296 Midjourney: centrality 392, breadth 155 PixAI: centrality 767, breadth 333 DiffSensei: centrality 464, breadth 162 300 900 500 900 depth vs centrality Nishi: centrality 678, depth 731 Anifusion: centrality 785, depth 857 NovelAI: centrality 696, depth 740 Midjourney: centrality 392, depth 777 PixAI: centrality 767, depth 750 DiffSensei: centrality 464, depth 564 300 900 480 520 momentum vs centrality Nishi: centrality 678, momentum 500 Anifusion: centrality 785, momentum 500 NovelAI: centrality 696, momentum 500 Midjourney: centrality 392, momentum 500 PixAI: centrality 767, momentum 500 DiffSensei: centrality 464, momentum 500 200 600 100 600 breadth vs distinctiveness Nishi: distinctiveness 550, breadth 503 Anifusion: distinctiveness 419, breadth 400 NovelAI: distinctiveness 285, breadth 296 Midjourney: distinctiveness 237, breadth 155 PixAI: distinctiveness 296, breadth 333 DiffSensei: distinctiveness 266, breadth 162 200 600 500 900 depth vs distinctiveness Nishi: distinctiveness 550, depth 731 Anifusion: distinctiveness 419, depth 857 NovelAI: distinctiveness 285, depth 740 Midjourney: distinctiveness 237, depth 777 PixAI: distinctiveness 296, depth 750 DiffSensei: distinctiveness 266, depth 564 200 600 480 520 momentum vs distinctiveness Nishi: distinctiveness 550, momentum 500 Anifusion: distinctiveness 419, momentum 500 NovelAI: distinctiveness 285, momentum 500 Midjourney: distinctiveness 237, momentum 500 PixAI: distinctiveness 296, momentum 500 DiffSensei: distinctiveness 266, momentum 500 100 600 500 900 depth vs breadth Nishi: breadth 503, depth 731 Anifusion: breadth 400, depth 857 NovelAI: breadth 296, depth 740 Midjourney: breadth 155, depth 777 PixAI: breadth 333, depth 750 DiffSensei: breadth 162, depth 564 100 600 480 520 momentum vs breadth Nishi: breadth 503, momentum 500 Anifusion: breadth 400, momentum 500 NovelAI: breadth 296, momentum 500 Midjourney: breadth 155, momentum 500 PixAI: breadth 333, momentum 500 DiffSensei: breadth 162, momentum 500 500 900 480 520 momentum vs depth Nishi: depth 731, momentum 500 Anifusion: depth 857, momentum 500 NovelAI: depth 740, momentum 500 Midjourney: depth 777, momentum 500 PixAI: depth 750, momentum 500 DiffSensei: depth 564, momentum 500
Nishi Anifusion NovelAI Midjourney PixAI DiffSensei
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
PlayerQuadrantcentralitydistinctivenessbreadthdepthmomentumRows heldDays on spineFirst seen
NishiAspirational6785505037310 since 2026-09-2331102026-09-15
AnifusionAspirational7854194008570 since 2026-09-2321102026-09-15
NovelAIMainstream6962852967400 since 2026-09-2318102026-09-15
MidjourneyPeripheral3922371557770 since 2026-09-239102026-09-15
PixAIMainstream7672963337500 since 2026-09-2320102026-09-15
DiffSenseiPeripheral4642661625640 since 2026-09-2313102026-09-15
DayMatrix rows reviewedPlayers recorded
2026-09-15456
2026-09-16456
2026-09-17456
2026-09-18456
2026-09-19456
2026-09-20456
2026-09-21456
2026-09-22456
2026-09-23456
2026-10-08456

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

How to read this evidence. A Nishi source mark records whether the named symbol is declared in the selected source file. It does not establish working behavior or accepted delivery. A watching tag names an expected source entry; discovering it updates source coverage only. A dark tag means the file exists but the named symbol was not found: inspect the source and contract before assuming the capability is missing or renaming code. Peer codes are authored assessments; unassessed means no comparison is established, not absence. Qualification, deployment identity, runtime observations and acceptance must carry their own evidence. Adoption records the catalog's observed path through source, build, promotion, registration and invocation; libraries use importer evidence and gates use declared execution surfaces. A full catalog path does not establish quality, freshness or a successful user outcome. Partial and unknown states retain their stated next action. Census stamps: importers asof 1790637268, gate census asof 1790104131 (unix seconds; -1 = census absent).

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.

CapabilityNishiAnifusionNovelAIMidjourneyPixAIDiffSensei
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.
not adopted: 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.
not adopted: 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 them
dossierwatching gen_style_pack
Pros 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).
not adopted: 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).
not adopted: 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 — watching runtime/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 placement
dossierwatching mp_scene_condition
Pros 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).
not adopted: 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).
dossiernot adopted: 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).
dossiernot adopted: 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
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).
not adopted: 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).
dossiernot adopted: 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).
not adopted: 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).
not adopted: 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 — watching runtime/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 them
dossierwatching lt_train_deploy
Pros 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).
not adopted: 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 — watching runtime/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 them
dossierwatching ma_animatic_emit
Pros none measured yetCons behind Anifusion (leads), NovelAI, Midjourney (leads), PixAI; open contract; expected source declaration not established
○◉●◉●○
EXPORT
print-ready PDF/CBZ emitOpen — watching runtime/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 them
dossierwatching me_pdf_emit
Pros 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 — watching runtime/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 them
dossierwatching mc_canvas_wasm
Pros 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 them
dossierwatching gen_img2img
Pros 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)
●○○○○○
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.
not adopted: 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 intentions
dossierwatching asset_provenance_row
Pros 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.
not adopted: 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 — watching runtime/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 algorithm
dossierwatching oc_cjk_classify
Pros 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.
dossiernot adopted: 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 does
dossierwatching mo_reletter
Pros none measured yetCons open contract; expected source declaration not established
○○○○○○
RATING
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.
dossiernot adopted: 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 likeness
dossierwatching rp_likeness_refuse
Pros none measured yetCons open contract; expected source declaration not established
○○○○○○
STORY
an arc that provably reaches its stated endingOpen — watching runtime/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 them
dossierwatching mac_arc_complete
Pros 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 — watching runtime/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 them
dossierwatching mst_style_ident
Pros none measured yetCons behind Anifusion, NovelAI, Midjourney, PixAI; open contract; expected source declaration not established
○●●●●○
generate in a catalogued style, personal until licensedOpen — watching runtime/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 them
dossierwatching mst_style_apply
Pros none measured yetCons behind Anifusion (leads), NovelAI (leads), Midjourney (leads), PixAI (leads); open contract; expected source declaration not established
○◉◉◉◉○
Rival-claim provenance. Every Yes, Best or Part mark in a rival column is a claim about someone else's product. A cited row carries a reference mark that resolves to a pinned mirror (the refs gate measures that); an uncited row is an observation read and is badged in its evidence until a reference lands. The badge is the receipt, never the proof: a mark proves a mirror exists, not that the mirror supports the code. The rows are counted below.
Rival claims, counted
ClassCountNote
rows with rival marks24rows carrying a Yes, Best or Part in a rival column
cited2a reference mark resolves to a pinned mirror
uncited22an observation read, badged until a reference lands
rows, summed24RECONCILED: 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

IdSevWhat it isUnblock
1786650261eaten6Gen 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 scope5ARENA-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 scope5CHARACTERISED, 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 scope4Now 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 scope4Rule-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 scope2nx_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 scope4Estate-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 scope2SCHEMA 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

RiskLikelihood x impactMitigation
The gen worker is a single point and is down, blocking R5 and the first generated pagelikely x highRevive 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 measurementcertain x mediumRecalibrate 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 greenpossible x highThe 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 domainpossible x mediumSchema 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 boxpossible x lowAsk the spend gate before sweeps, run off-peak, publish box receipts beside the result.

Release history and work log

The worked plan, on the board. Every leg appends what it measured, landed, retracted, learned and left queued, per rung, so a crash leaves the next seat a ledger here rather than a transcript to mine. Kinds: measure, land, retract, lesson, queue. Newest last.
WhenRungKindEntry
2026-09-05MG20retractMG20 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-05MG20queueOperator 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-05MG20measureMEASURED 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-05R1landThe 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-05R5measureGen 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-05MG32lessonA 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-05MG24measureINCUMBENT 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-05R1measureGATE 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-05R1lessonTHE 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-05MG24landnx_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-05MG32retractTHE 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-05MG32lessonA 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-05MG24landnx_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-05R1landBOARDS 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-05R1measureTHE 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-05R5landTOP 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-05R5retractTHE 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-05R5lessonnx_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-05R5lessonTHE 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-05MG22landMG22 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-05MG32measureHAZARD 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-05MG32retractTHE 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
On these two registers. Rows are declared in the domain's plan file and carry the debt id, which is the join key back to the sovereign debt plane — that plane, not this page, is the authority on state. Reconciling them automatically (the regen reading the plane and refreshing these rows) is a named, owed rung; until it lands, treat an id here as a pointer to look up, not a status to trust.
Honest verdict. The coverage above records source-symbol presence. Stronger comparisons are authored claims, not measured runtime superiority or accepted outcomes. A watch contract names an expected source symbol; finding it changes source discovery only. Qualification, deployment and runtime acceptance require their own evidence.

Person · product · place — not yet measured for this domain

Every compare carries this layer. Declare 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.

Discovery receipt. One row per counter the run wrote, in the receipt's own order; the rival rows follow in their own table.
Field discovery, counted
ClassCountNote
seeds1
scanned1
fetched1
reused0
failed0
named1
candidates1
mentions1
capped0
RankRivalSeedsMentionsFirst seedKindLink
1Anifusion11col0-anifusionnamedhttps://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

One capability is graded on one board; every other board references it. The fleet duplicate census (nx_rivalcensus dupes, on the fleetdupes clock row) reads every board's matrix and names each capability graded as a row on two or more boards, with a home derived from evidence: rung when exactly one board's plan contracts the symbol (that board is starred), gates when no plan contracts it and exactly one board's executed gate map runs the organ's gate (that board is plussed), ambiguous when several boards carry the deciding evidence (a decision for their seats), and none when no evidence decides it, with the reason beside it: unmapped (no board of the duplicate declares a gates map; declare the maps) or unproven (a map exists and runs none of the organ's gates; gate the organ on its proving board, or declare it a shared library by policy). A home elsewhere means this board should carry an @xrow reference to the home board's row rather than a graded row of its own; a home here means the other boards should. The table is this board's slice of one estate-wide census: the shape is shared, the rows are the board's.

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.

CapabilityOrganBoards grading itHomeRuleEvidenceStanding on this board
sg_legalnx_skelgen.nxmangagen, charsim, anatomy, gameengine—noneunprovenundecided
sg_fknx_skelgen.nxmangagen, charsim—noneunprovenundecided
cjc_hwnx_charjudge.nxmangagen, charsim+, graphics, koikatsu*, genkoikatsurungplanhome elsewhere
adopt: @xrow koikatsu|cjc_hw|home by rung (fleet duplicate census)
cm_ctxnx_charmem.nxmangagen, charsim, npcai, companionchat—noneunprovenundecided
si_hexnx_galx_saveimg.nxmangagen, gen—noneunprovenundecided
do_ranknx_gen_rank.nxmangagen, sharehub, gen—noneunprovenundecided
go_image_symmetrynx_image_symmetry_lib.nxmangagen, gen, aesthetictwin—noneunprovenundecided
le_promptnx_galx_lora_export.nxmangagen, koikatsu, sharehub, mediaingest—noneunprovenundecided
lt_train_deploy-mangagen:runtime/nx_galx_lora_train.nx, gen:runtime/nx_lora_train.nx—homonym-homonym
m_jointsnx_bvhmotion.nxmangagen, charsim, graphics, koikatsu, gameengine, motion—noneunprovenundecided
nx_pdf_extract_textnx_pdf_text.nxmangagen, sovereignty—noneunprovenundecided
rl_promote_to_sharednx_reader_library.nxmangagen, sharehub—noneunprovenundecided

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.

kindnameboardsourceevidence

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

Beyond a link list. Every reference below resolves twice — the publisher's copy and, where banked, the estate's own non-rottable library mirror with a content pin — and carries its evidence class plus the exact claim on this page it grounds. Keyed marks like [key] in the matrix notes jump here. A dash means honestly absent, never assumed.
  1. [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 · pin hd45209cb63fe91d3380b45c1805c042e5c23d079435fb2e90df9d201efc92064 · 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.
  2. [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 · pin hd45209cb63fe91d3380b45c1805c042e5c23d079435fb2e90df9d201efc92064 · 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.
  3. [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 · pin h2cc0958699e0b67c67832c29b5e16605817071b8e547ba714a2e64f7c0311173 · 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.
  4. [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 · pin ha4bd28e14318d24a666ecdb80244499824b81216bebc42ad545dbb5a7951ccac · 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