Summary
Weekly wiki update covering commits 999db6b06..e474f58ca (2026-09-13 to 2026-09-27, 58 commits).
Three new spoke pages, fourteen pages updated, index/glossary/changelog/marker refreshed, pushed to LSantha/jnode_ai.wiki@master (4016e0855).
Created (3)
| Page |
Covers |
| [[X87-FPU-Support]] |
Global x87 control word (cpu.asm init_fpu → PC=10 double, RC=00 nearest, CW = 0x027F, down from the buggy 0x0F7F); why strictfp needs 53-bit precision for the twoToThe52 StrictMath.rint trick; X86CompilerHelper.emitF2I/emitF2L implementing JLS §5.1.3 via x87 integer-indefinite sentinel classification and immediate patching; SP-relative displacement fixup; globally unique label naming; all converted l1a/l1b/l2 call sites; the StrictMath.remPiOver2 recompute livelock; instruction-encoding reference |
| [[Shell-Interpreter]] |
DefaultInterpreter / RedirectingInterpreter; two-level grammar (sequence of pipelines); SequenceEntry / SequenceDescriptor; exit-status rules (single-command short-circuit still throws, ShellControlException always rethrown, skipped commands do not reset rc, no operator precedence, no $?); the shared nested Tokenizer operator rules (embedded & literal for URLs, standalone & special, || always special, | flag-gated); escapeWord round-trip; all syntax errors; parsePartial double-tokenize for completion |
| [[Agent-Issue-Pipeline]] |
Full agent automation: stage chain, slash commands, three label namespaces plus bare/internal labels with in-code constants, triage.yml read-only lockdown, ticket-runner.js state and budget model, the PR-first DEV guard, the review_in_progress in-flight mutex, auto-start guards and triage-clear logic, opencode-post-step.js report scanners and evidence-gated closure, the merge-safety gate with verified mergePR (204 / empty-body handling), the two marker-deduped CI-heal producers |
Updated (14)
- GitHub-Actions-Workflows — rewritten: 5 workflows → 7 (
auto-triage.yml, triage.yml added); Java CI corrected to cd-x86-combined-lite regression-tests and 5 jobs (build, test, boot32, boot64, heal); model mimo-v2.5-free → space-bunny-free; added review_in_progress to the state sample, the heal job, sync-labels.js and tests/*.test.js; 6 new gotchas
- Video-Driver-Architecture — new
SoftwareCursor section listing all 11 pre-fix framebuffer-corruption bugs and the fix (cursorDrawn flag, row-wise bulk save, run-length blitting, source+destination intersection, full synchronized); VESACore synchronization + four-edge-clipped fillRect; new "Bitmap Rendering Paths" section (drawPixels count clamping and the removed IndexOutOfBoundsException backstop, fillRect as real clipper, BitmapGraphics16bpp cleanup, opaque-Color fast path); 6 new gotchas
- JNode-Graphics2D — new "Window Paint Clipping" section (
getWindowPaintRegions, subtract region algebra, SwingComponentPeer plumbing and the gnu.javax.swing.noGraphics2D guard, BasicSurfaceGraphics.paintClip / clipToPaint); opaque-Color fast path; 5 new gotchas
- AWT-Peer-Implementation — new "Window Activation and Taskbar Stacking" section:
isSelected() is not frontmost, activateWindow explicit raise, rate-limited activation failure logging, DesktopManagerImpl.dragFrame/activateFrame overrides, WindowBar.isTopFrame
- Shell-Commands — new
mkdir -p section, new ant command section (ExecuteJava override, main.setAccessible(true), <export>/<exclude> are declarative only — real resolution is PluginsClassLoader registry order), new "Black-Box Command Tests" section (TestHarness temp-dir lifecycle, --preserveTemp, fixture semantics)
- Shell-Syntax —
EXISTING/NONEXISTENT affect completion only; sequencing is a separate subsystem
- GUI-AWT — new "Window Management", "Surface Integrity" and "GUI Testing" sections
- Testing —
build-tests.xml convention, the two shell test tiers, the gui subproject, guest test programs, VersionTest 41→95 as a reference template
- JIT-Compilers — new "Floating-Point Emission" section
- L2-Compiler-Deep-Dive — new "Float-to-Int Quad Handling" section + 2 gotchas
- JNAsm-Instruction-Encoding —
writeAND operand-size bugs, dual-mode FPU primitive table, 2 gotchas
- OpenJDK-Patches — new
NativeStrictMath sin-hang example + 3 gotchas
- Assembly-Files —
cpu.asm now documents init_fpu
- Changelog — new
## 2026-09-27 entry
Bookkeeping
index.md — 3 new Pages rows, 6 new Concept → Pages rows, 14 new Source Path → Pages mappings, 13 new Task Routing rows, 6 updated page descriptions. Re-sorted and de-duplicated the entire Pages table (removed a stray repeated header row, converted the bare Resource-Management row to a proper link).
Glossary.md — 12 new terms: agent issue pipeline, command sequence, escapeWord, evidence-gated closure, FISTP, paint clip, PC, RC, review_in_progress, Shell Interpreter, SoftwareCursor, strictfp
.last-wiki-update → 2026-09-27
Pages
Triage Addendum (auto, 2026-09-27)
- Area / Kind: area/docs + kind/wiki
- Blast radius: L0 method (wiki markdown only,
.wiki/ is the separate LSantha/jnode_ai.wiki repo; no core/, fs/, builder/, or build input touched)
- Expected scope: Spoke pages named in the report (X87-FPU-Support, Shell-Interpreter, Agent-Issue-Pipeline) plus 14 updated pages,
index.md, Glossary.md, Changelog.md, .last-wiki-update. No Java, ASM, jnode.properties, or plugin-list edits.
- Test path: docs-only, no test command; verify by the wiki push (
git -C .wiki log -1) and the index.md Pages table staying sorted and de-duplicated.
- Merge signal: safe (kind/wiki, markdown-only diff, no boot path, no public API)
- Gaps: none
- Full report:
## Triage comment below.
❌ Ticket Runner Status
| Field |
Value |
| Phase |
FAILED |
| Turn |
0/3 |
| Retries |
3/3 |
| PR |
- |
| Review in progress |
no |
| Started |
2026-09-27T12:12:12.321Z |
Summary
Weekly wiki update covering commits
999db6b06..e474f58ca(2026-09-13 to 2026-09-27, 58 commits).Three new spoke pages, fourteen pages updated, index/glossary/changelog/marker refreshed, pushed to
LSantha/jnode_ai.wiki@master(4016e0855).Created (3)
cpu.asm init_fpu→ PC=10 double, RC=00 nearest,CW = 0x027F, down from the buggy0x0F7F); whystrictfpneeds 53-bit precision for thetwoToThe52StrictMath.rinttrick;X86CompilerHelper.emitF2I/emitF2Limplementing JLS §5.1.3 via x87 integer-indefinite sentinel classification and immediate patching; SP-relative displacement fixup; globally unique label naming; all converted l1a/l1b/l2 call sites; theStrictMath.remPiOver2recompute livelock; instruction-encoding referenceDefaultInterpreter/RedirectingInterpreter; two-level grammar (sequence of pipelines);SequenceEntry/SequenceDescriptor; exit-status rules (single-command short-circuit still throws,ShellControlExceptionalways rethrown, skipped commands do not reset rc, no operator precedence, no$?); the shared nestedTokenizeroperator rules (embedded&literal for URLs, standalone&special,||always special,|flag-gated);escapeWordround-trip; all syntax errors;parsePartialdouble-tokenize for completiontriage.ymlread-only lockdown,ticket-runner.jsstate and budget model, the PR-first DEV guard, thereview_in_progressin-flight mutex, auto-start guards and triage-clear logic,opencode-post-step.jsreport scanners and evidence-gated closure, the merge-safety gate with verifiedmergePR(204 / empty-body handling), the two marker-deduped CI-heal producersUpdated (14)
auto-triage.yml,triage.ymladded);Java CIcorrected tocd-x86-combined-lite regression-testsand 5 jobs (build,test,boot32,boot64,heal); modelmimo-v2.5-free→space-bunny-free; addedreview_in_progressto the state sample, thehealjob,sync-labels.jsandtests/*.test.js; 6 new gotchasSoftwareCursorsection listing all 11 pre-fix framebuffer-corruption bugs and the fix (cursorDrawnflag, row-wise bulk save, run-length blitting, source+destination intersection, fullsynchronized);VESACoresynchronization + four-edge-clippedfillRect; new "Bitmap Rendering Paths" section (drawPixelscount clamping and the removedIndexOutOfBoundsExceptionbackstop,fillRectas real clipper,BitmapGraphics16bppcleanup, opaque-Colorfast path); 6 new gotchasgetWindowPaintRegions,subtractregion algebra,SwingComponentPeerplumbing and thegnu.javax.swing.noGraphics2Dguard,BasicSurfaceGraphics.paintClip/clipToPaint); opaque-Colorfast path; 5 new gotchasisSelected()is not frontmost,activateWindowexplicit raise, rate-limited activation failure logging,DesktopManagerImpl.dragFrame/activateFrameoverrides,WindowBar.isTopFramemkdir -psection, newantcommand section (ExecuteJavaoverride,main.setAccessible(true),<export>/<exclude>are declarative only — real resolution isPluginsClassLoaderregistry order), new "Black-Box Command Tests" section (TestHarnesstemp-dir lifecycle,--preserveTemp, fixture semantics)EXISTING/NONEXISTENTaffect completion only; sequencing is a separate subsystembuild-tests.xmlconvention, the twoshelltest tiers, theguisubproject, guest test programs,VersionTest41→95 as a reference templatewriteANDoperand-size bugs, dual-mode FPU primitive table, 2 gotchasNativeStrictMathsin-hang example + 3 gotchascpu.asmnow documentsinit_fpu## 2026-09-27entryBookkeeping
index.md— 3 new Pages rows, 6 new Concept → Pages rows, 14 new Source Path → Pages mappings, 13 new Task Routing rows, 6 updated page descriptions. Re-sorted and de-duplicated the entire Pages table (removed a stray repeated header row, converted the bareResource-Managementrow to a proper link).Glossary.md— 12 new terms: agent issue pipeline, command sequence, escapeWord, evidence-gated closure, FISTP, paint clip, PC, RC, review_in_progress, Shell Interpreter, SoftwareCursor, strictfp.last-wiki-update→2026-09-27Pages
Triage Addendum (auto, 2026-09-27)
.wiki/is the separateLSantha/jnode_ai.wikirepo; nocore/,fs/,builder/, or build input touched)index.md,Glossary.md,Changelog.md,.last-wiki-update. No Java, ASM,jnode.properties, or plugin-list edits.git -C .wiki log -1) and theindex.mdPages table staying sorted and de-duplicated.## Triagecomment below.❌ Ticket Runner Status