Download Latest Version v0.3.1 source code.zip (11.7 MB)
Email in envelope

Get an email when there's a new version of LoopTroop

Home / v0.3.1
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-06-22 5.9 kB
v0.3.1 source code.tar.gz 2026-06-22 11.4 MB
v0.3.1 source code.zip 2026-06-22 11.7 MB
Totals: 3 Items   23.1 MB 2

Summary

  • Changed the documentation "Last updated" date format to a clear, non-ambiguous DD/MMM/YYYY, HH:MM UTC format (e.g., 02/Jun/2026, 14:15 UTC) and linked it directly to the specific file diff in the corresponding git commit.
  • Corrected documentation drift across the API, workflow, architecture, frontend, and operations docs to match the current code (SSE event payloads, pre-flight attribution, council module paths, prompt-template subsystem, YAML approval editor, and dev-script caveats).
  • Updated the README with a new walkthrough animation GIF and renamed the video demo section.
  • Fixed the dark/light mode toggle on the marketing landing page by configuring Tailwind CSS v4 class-based dark mode.
  • Hardened structured-output recovery so common glued prose and escaped-quote coverage references no longer cause avoidable parser failures.
  • Added a compact contact section at the bottom of the marketing landing page.
  • Fixed the flash/split-second visibility of the floating "Back to top" button on landing page load by initializing it with hidden styles.
  • Added a "Show details" section to the full-app crash screen so the underlying error message, stack trace, and component stack are visible (and copyable) without opening the console.
  • Fixed npm run dev failing on native Windows with an EINVAL spawn error from the dev preflight when dependencies were already installed.

Detailed Changes

Added

  • Added a contact section at the bottom of the landing page, offering direct contact options via email (contact@looptroop.ovh) and Twitter (@liviusa) alongside a text reference pointing to the official LoopTroop socials.
  • Added an expandable "Show details" panel to the top-level App crashed screen (src/components/shared/AppCrashScreen.tsx). The ErrorBoundary now forwards the caught error and componentStack to a render-prop fallback, surfacing the error name, message, full stack trace, and React component stack on screen with a copy-to-clipboard action and an explicit Refresh button.

Changed

  • Modified the VitePress "Last updated" footer display format from the default localized style (e.g., 6/4/26, 6:26 PM) to a non-ambiguous "DD/MMM/YYYY, HH:MM UTC" format (24-hour UTC clock) linked directly to the specific file diff inside the corresponding git commit, implemented by overriding the default layout footer using custom layout slots.
  • Updated README.md to display a 26-second animated walkthrough GIF showing LoopTroop's automated ticket lifecycle execution, and renamed the video demo section to highlight the 16-minute deep dive presentation and ticket demo.

Documentation

  • Corrected the API Reference SSE event table and examples to match the broadcaster: removed the never-emitted progress and app_error events (noted as reserved type slots), fixed the bead_complete payload (beadId, title, completed, total), documented log as a flat LogEvent with no logEntry wrapper, and described the source-dependent needs_input shapes.
  • Fixed Ticket Flow pre-flight attribution: pre-flight runs in handlePreFlight (server/workflow/phases/verificationPhase.ts, backed by server/phases/preflight/doctor.ts), while executionSetupPlanPhase.ts only handles setup-plan approval and draft regeneration.
  • Fixed the LLM Council refinement module paths from the non-existent server/workflow/council/* to the real server/council/*.
  • Updated System Architecture: removed the stale server/phases/verification/* reference (the directory holds only tests) and added the server/prompts/* prompt-template layer to the module map.
  • Documented the shared YamlEditor and CascadeWarning approval surfaces in the Frontend docs.
  • Documented the diagnose:stall --help flag, the dev:app preflight-bypass caveat, and synced .env.example with LOOPTROOP_DEV_HOST, LOOPTROOP_OPENCODE_LOGS, and LOOPTROOP_OPENCODE_PERMISSION_MODE.

Fixed

  • Fixed the marketing landing page (web.html) theme toggle by adding the custom variant dark selector configuration to src/web.css so Tailwind CSS v4 compiles class-based dark mode styles rather than media-query-only styles.
  • Fixed an issue where the floating "Back to top" button briefly flashed on page load by explicitly applying opacity-0 and pointer-events-none classes to the element in web.html, preventing transition-on-load issues before its scroll position is verified.
  • Recovered structured artifacts when short commentary is glued directly before a known root key such as questions:, draft_scores:, status:, or beads:, while preserving schema validation for the recovered content.
  • Canonicalized harmless escaped-quote differences in PRD and beads coverage gap references so coverage revision metadata can match the originally provided gap text without inventing content.
  • Fixed npm run dev aborting on native Windows with spawnSync ... EINVAL from the startup preflight. The preflight and dev-maintenance scripts now launch Windows .cmd shims (npm.cmd, tsx.cmd, opencode.cmd) through the shell, working around Node's BatBadBut hardening (18.20.2/20.12.2/21+) that refuses to spawn .cmd/.bat files directly. Arguments are quoted to stay safe under shell re-parsing, and the missing-opencode detection that previously relied on ENOENT now also recognizes cmd.exe's "not recognized" exit. WSL/Linux/macOS behavior is unchanged.

Maintenance

  • Updated hono to 4.12.25 and typescript-eslint to 8.61.0.
  • Stabilized the council pipeline hard-deadline unit test so full-suite timing variance no longer causes false failures while preserving the partial-result assertion.
  • Refreshed the generated marketing CSS asset from the 0.3.1 site build so tracked deploy assets match the current source and package version.
  • Ignored the generated site/ deployment output in ESLint so npm run lint remains valid after running npm run site:build.
Source: README.md, updated 2026-06-22