Build(deps-dev): Bump eslint from 9.24.0 to 9.35.0#118
Closed
dependabot[bot] wants to merge 1 commit intomainfrom
Closed
Build(deps-dev): Bump eslint from 9.24.0 to 9.35.0#118dependabot[bot] wants to merge 1 commit intomainfrom
dependabot[bot] wants to merge 1 commit intomainfrom
Conversation
Bumps [eslint](https://github.com/eslint/eslint) from 9.24.0 to 9.35.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](eslint/eslint@v9.24.0...v9.35.0) --- updated-dependencies: - dependency-name: eslint dependency-version: 9.35.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
|
Superseded by #132. |
joelteply
added a commit
that referenced
this pull request
Mar 31, 2026
Added ForgeAlloy section to Phase 12 with 10 new issues: - forge-alloy repo: #1-6 (JCS signing, key registry, hardware keys, enclave, dataset hashing, PQC) - continuum: #660 (widget import/export), #661 (attestation verification) - sentinel-ai: #118 (full alloy results in forge) - #659 marked DONE (portable entity shipped)
joelteply
added a commit
that referenced
this pull request
Apr 1, 2026
* Fix: register factory-widget as custom element + add to browser bundle Widget was blank because it wasn't imported in browser/generated.ts and didn't have customElements.define. * Factory operational: forge command, live HF models, generator fixes - Fix generator PascalCase for hyphenated commands (ModelForge-status → ModelForgeStatus) - Restore CLI entry points for generate-structure.ts and generate-command-schemas.ts - Create generator/cli.ts — unified CLI for all generator types - Regenerate model/forge-status and model/list-published with proper naming - Add model/forge command — starts forge jobs on grid nodes via SSH/grid - Factory widget: leaderboard-style published models sorted by downloads - Published models now show rank, domain badge, variant badge, download/like stats - 14,967 total downloads across 11 published models on HuggingFace * Gap analysis: Factory operational, lifecycle pipeline mapped - Update Phase 12 with all new factory issues (#648-658) - Add recipe system, lifecycle pipeline, benchmarking sections - Update published models: 11 models, 14,967 total downloads - Map full pipeline: Factory → HF Leaderboards → Grid → Academy → Re-forge - Update command count to 339 * ForgeAlloy spec: portable pipeline entity for model forging * model/forge sends alloy JSON to forge runner instead of loose params buildAlloy() constructs a proper forge-alloy from UI params. buildForgeArgs() writes alloy to temp file on remote node, passes --alloy flag. The forge runner reads the alloy and extracts all parameters from it. * Gap analysis: ForgeAlloy integration issues tracked Added ForgeAlloy section to Phase 12 with 10 new issues: - forge-alloy repo: #1-6 (JCS signing, key registry, hardware keys, enclave, dataset hashing, PQC) - continuum: #660 (widget import/export), #661 (attestation verification) - sentinel-ai: #118 (full alloy results in forge) - #659 marked DONE (portable entity shipped) * Factory widget: live grid status, expandable models, alloy results panel forge-status: SSH to grid nodes (bigmama) for remote forge status. Detects running forge process even before status.json exists. Factory widget: - Polls model/forge-status every 15s for live grid updates - Alloy results panel with benchmarks table, device grid, trust badge - Expandable model cards — click for details, HF link, alloy download - Export Alloy button saves current controls as .alloy.json recipe - forge-alloy badge on published models with the tag - All forge phases recognized (loading, training, pruning, defrag, etc.) * README: ForgeAlloy trust layer in Factory section * Architecture doc: Left/Center/Right layout philosophy Left = global navigation (persistent across recipes) Center = primary activity (the focus) Right = recipe-scoped tools (changes per content type) Recipe is the MIME type for the UI. Each recipe declares what tools belong in the right panel for that context. Anti-patterns documented. Future: moveable widgets between panels. * Factory widget: decompose god class into 5 composable components 1646-line god class → 5 clean components: - FactoryWidget (333 lines) — thin orchestrator, data loading, event wiring - ForgeControlsElement (397) — forge form, profiles, start button with progress fill - ActiveForgeElement (225) — live status, metrics grid, loss sparkline - PublishedModelsElement (268) — leaderboard cards, expandable details, alloy badges - FactoryStatsWidget (497) — right panel: downloads, filters, device coverage Each component extends ReactiveWidget with proper @reactive() decorators. No inline styles in parent. Child components own their styles and logic. Factory recipe updated to new layout format with right panel. Layout philosophy documented: left=global, center=activity, right=recipe-scoped. Also: forge-status command polls remote grid nodes via SSH. model/forge builds alloy JSON and sends to remote nodes. Gap analysis updated with ForgeAlloy integration issues. * Stage element system: polymorphic UI components mirroring alloy spec StageElement (abstract base): - Shared styles, validation, config emission, stage header rendering - Color-coded by stage type (prune=red, train=cyan, lora=purple, etc.) PruneStageElement: strategy, level, min heads, analysis steps TrainStageElement: domain, steps, LR, batch, scheduler, precision, optimizations The alloy defines the interface. The UI implements it. * PipelineComposer: visual alloy pipeline editor with add/remove/reorder Stage registry maps alloy stage types to UI components. Add stage → pick from color-coded menu → new block appears in pipeline. Remove, reorder with hover actions. Connector lines between stages. Emits pipeline-change event with complete alloy stages array. Next: wire into ForgeControlsElement, add remaining 8 stage types. * Architecture doc: Factory Pipeline UI — high-level language for model design Documents the stage element system, pipeline composer, component hierarchy, and how the alloy spec maps 1:1 to UI components. Commandable at every level: CLI, UI, API, AI, marketplace, grid. Analogies: KSP, ComfyUI, SCADA, Terraform. * Stage gates + pipeline composer wired into forge controls Each stage has a gate: auto (continue), manual (review & adjust), conditional (pass only if threshold met). Click to cycle modes. Gate represents the human-in-the-loop: algorithm sets defaults, expert intuition overrides on feel. Pipeline composer now renders inside ForgeControlsElement below the controls grid. * Forge button at top — main action visible first, controls below Winamp pattern: play button at top, settings underneath. Pipeline composer shows between controls and the end of the form. * Fix right panel: generator now detects new layout format widgets The content type generator only checked layout.right (old format). Factory uses layout.widgets with position: 'right' (new format). Generator now detects both → hasRightPanel: true for factory. Also: FactoryStatsWidget rewritten with persona-tile-quality visuals — rank badges (gold/silver/bronze), gauge bars with glow, monospace tags, alloy panel with trust indicator. Forge button moved to top. * Right panel routing: generator fix + recipe format, still blocked by layout engine race Generator now detects new format widgets with position: 'right' → hasRightPanel: true. Recipe switched to old format (main + right.widgets) matching diagnostics pattern. Right panel renders but defaults to chat-widget — suspected race condition where factory tab opens before recipe layouts finish loading. Needs focused investigation (#662). FactoryStatsWidget rewritten with persona-tile-quality visuals — ready for right panel when routing is fixed. Published models stay in center widget for now. * Full stage element system: 6 stages built, grouped pipeline composer New stage elements matching alloy spec: - SourceConfigStageElement — context window, modalities (text/vision/audio/video), target devices - QuantStageElement — GGUF/MLX/ONNX format, quant type toggles (Q2_K through F16) - EvalStageElement — benchmark grid (HumanEval, MMLU, GSM8K, IMO-ProofBench, etc.), threshold, leaderboard submit - DeployStageElement — grid node target, health check, warmup, concurrency, auto-scale PipelineComposer: add-stage menu grouped by position (INPUT/TRANSFORM/OUTPUT). Stage colors organized by group. 13 total stage types in the alloy spec. Take a small model, add vision + context extension + code training + quantize + deploy. The pipeline IS the high-level language. The UI IS the IDE. * Default pipeline: source-config → prune → train → quant → eval (full flow visible) * Forge button: time estimate that reacts to pipeline configuration Subtle estimate in top-right of button (~32m, ~3h) based on model size + steps + cycles. Changes in real-time as you adjust sliders or switch models. The contract shows its cost before you commit. Estimation: steps/min by model size (benchmarked on 5090), plus prune/eval overhead per cycle, plus model loading time. * Fix: clear stale forge status when no active forges (LOADING stuck state) * README: Factory is one room, not the product. Industry section rewrite. Continuum is the world. Factory, Academy, and Genome are its industrial sector — rooms where building happens. The factory forges base models, the academy trains persona expertise, the genome is the living result. They connect: forged base + academy training + genome = capable persona. ForgeAlloy is the contract format the factory uses, not the product. * Gap analysis: stage executors + stage UIs tracked, 52 factory issues total * model/introspect command: detect model capabilities + possible forge stages Generated via CommandGenerator from spec. Server implementation: - Tries local sentinel-ai introspector first - Falls back to SSH to grid nodes (bigmama) - Last resort: reads config.json from HF cache directly Returns: source (architecture, MoE), currentCapabilities (params, heads, context, modalities), possibleStages (which alloy stages apply with reasons), currentAlloy (model as starting recipe). Factory widget can use this to show only compatible stages in the pipeline composer. * Fix #663: remove hardcoded chat-widget default from right panel Two fixes: 1. getRightPanelConfig returns null (not chat-widget) when no recipe declares a right panel. Removes the ghost assistant showing on every tab. 2. Re-emit RIGHT_PANEL_CONFIGURE after both recipes AND content tabs load, fixing the race where content renders before recipes are available. Recipe is now the sole source of truth for right panel config. * Architecture doc: Metaverse Vision — the world layer, districts, mixed reality * Metaverse: themed universes — Tron, Warcraft, Cyberpunk, Ghibli, custom. Same data, different pixels. * Themes span every environment: browser, 3D, AR, VR, CLI — one theme, every surface * Fix right panel: un-hide and expand when valid config arrives after collapse The race: page load → factory renders → recipes not loaded → right panel gets null config → _collapse() called → panel width = 0px. Recipes load → re-emit valid config → but panel stayed collapsed. Fix: when _handleLayoutConfig receives a non-null config, explicitly set _isHidden = false and call _expand() to restore the panel. The panel now recovers from an initial null config. * Factory widget self-declares right panel — bypasses recipe layout engine race * Universe > theme. Complete terminology rewrite. Universe = complete experience (not a skin) Realm = neighborhood within (Industrial, Academy) Surface = how you observe (browser, 3D, AR, VR, CLI) Citizen = persona or human (exists in all surfaces) A neural network in the Warcraft Universe is a living artifact forged by orcs, not a "model with a fantasy skin." The universe determines how everything is perceived. Same data, different reality. * README: factory screenshot + universe vision images * ForgeDeltaElement: delta-first forge UI — the diff IS the work Load a model → see what it IS → modify what you want → diff shows the work. No manual stage building. Pipeline emerges from the delta. - Everything starts at "no change" — forge does NOTHING by default - Edit a value → row highlights green → stage auto-derived - Reset any change → delta disappears → cost drops - Reset All → factory reset back to base model - Forge button shows delta count + estimated cost - Pipeline summary shows derived stages as color-coded badges - Export Alloy exports the delta as a contract Replaces ForgeControlsElement + PipelineComposer as the primary forge UI. The pipeline stages are derived, not manually built. * README: factory screenshot side-by-side with avatars at the top * Restore forge controls + remove published models from center (right panel only) * Factory: Console + Factory Floor (configure + monitor) Console = the workstation where you configure forge jobs (2D widget / 3D terminal / orc alchemist table) Factory Floor = active forges moving through stages (2D status / 3D assembly line / blacksmith anvils) Published models moved to right panel only. Center is pure workspace. Each section is a widget that maps to a physical object in the 3D universe. * Universe adaptation formula: CLI to RAG, orcs talk like orcs * Lore mapping: alloy stages as story across universes — prune is tempering, train is forging, eval is arena combat * Fix: publish goes to the shopkeeper, not the battlefield * Universe as schema: language pack for reality, LoRA-trained personas, genome paging * Factory UX Vision: hot-rod shop for AI models — workbench, delta console, SCADA floor, viral strategy * Hot Rod universe: strip the weight, tune the engine, take it to the drag strip, roll it into the car show * Multilingual + multi-universe: genome stack as i18n layer, simultaneous observer translation * Air Buddies x Stray universe: Sergeant Whiskers runs the forge, no rule says a dog can't * Positron is the multiverse engine. Citizens exist — observers perceive. No switching, just looking differently. * Metaverse → Multiverse. Positron runs them all. * Grid job management: Rust-native handlers + dynamic node discovery - Add grid/node-status, grid/job-submit, grid/job-control, grid/job-queue as Rust handlers - TS commands are thin wrappers that delegate to Rust via IPC - Rust handles local GPU query (nvidia-smi), process listing, filesystem-based job queue - Remote delegation via grid/send for cross-node execution - Factory widget discovers nodes dynamically from grid/nodes (no hardcoded names/IPs) - Node status bar with GPU utilization, memory, temperature - Job panel with pause/resume/cancel controls - Fix: connection.rs falls back to TS when Rust returns "Unknown" command - Fix: generator template userId cast for createParams factory * Fix nvidia-smi path for WSL2 (check /usr/lib/wsl/lib/nvidia-smi first) * Factory → Grid end-to-end: START FORGE routes through grid/job-submit - Wire START FORGE button to grid/job-submit instead of SSH/shell path - Remove hardcoded BigMama IP from model/forge and forge-status commands - Unify forge status tracking via grid/job-queue polling (remove SSH polling) - Factory floor links to Grid tab, Grid tab has Pair Node + Refresh actions - Extract all inline CSS from 4 widgets into proper SCSS files using shared variables - GridOverviewWidget shows local node immediately (no 20s timeout on missing commands) * cleanup * Wire pipeline composer stages into alloy recipe (was disconnected) * Factory Floor: dismiss/clear buttons for dead jobs, live jobs sorted first * Factory: 6 new pipeline stages, MUTAGEN button, Foreman badge New stage elements (all schema-aligned): - ContextExtendStageElement: YaRN/NTK/linear/dynamic-NTK, 32K-256K presets - ModalityStageElement: Vision/Audio/Multimodal with auto-filled encoders - LoraStageElement: Rank/alpha, target module toggles, QLoRA 4/8-bit - CompactStageElement: Utilization threshold viz bar, 6 precision tiers - ExpertPruneStageElement: MoE expert selection - PublishStageElement: HuggingFace org/repo/tags/privacy config Pipeline composer expanded from 8 to 12 registered stage types. MUTAGEN button rolls random mutations from proven axes (context, vision, audio, LoRA, compaction, aggressive prune). Each successful forge proves an axis for future rolls. Foreman ID badge on Factory Floor node bar — vacant placeholder ready for persona wiring when #671 lands.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps eslint from 9.24.0 to 9.35.0.
Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
84011019.35.0b80f025Build: changelog update for 9.35.0da87f2fchore: upgrade@eslint/js@9.35.0 (#20077)af2a087chore: package.json update for@eslint/jsreleased265515docs: improve phrasing - "if" → "even if" from getting-started section (#20074)7055764test: removetests/lib/eslint/eslint.config.js(#20065)10e7ae2fix: update uncloneable options error message (#20059)42761fafeat: implement suggestions for no-empty-function (#20057)102f444feat: implement suggestions for no-empty-static-block (#20056)84ffb96chore: update@eslint-community/eslint-utils(#20069)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)