Skip to content

Ground Soulgaze narration and report capture status - #709

Draft
RANGROO wants to merge 44 commits into
unstablefrom
codex/soulgaze-actor-grounding
Draft

Ground Soulgaze narration and report capture status#709
RANGROO wants to merge 44 commits into
unstablefrom
codex/soulgaze-actor-grounding

Conversation

@RANGROO

@RANGROO RANGROO commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • validate bounded frame-specific actor candidates from CHIM and keep Soulgaze narration isolated from nonvisual NPC context
  • store structured actor candidates with the visual-context record while retaining a conservative legacy-client fallback
  • return explicit JSON and non-2xx failures from portrait uploads so CHIM only reports a portrait update after it is actually saved
  • preserve visual-only prompts for scene-description requests
  • expose whether the current location has prompt-eligible visual context through the existing CHIM overlay status endpoint
  • use the same locked/recent TTL rules as prompt injection while avoiding table-creation DDL in the five-second chatbox polling path

Validation

  • PHP lint passed for all changed PHP files
  • focused PHPUnit: 9 tests, 20 assertions passed
  • deployed the exact runtime files to /var/www/html/HerikaServer; source/runtime SHA-256 hashes match
  • Apache restarted successfully
  • live overlay probe returned HTTP 200 and current location status (Nordic Valley, visual context unavailable)
  • live missing-upload probe returned HTTP 400 with {"ok":false,"message":"No portrait image was uploaded."}
  • full PHPUnit suite was previously attempted; unrelated local prerequisites prevented a clean run (PostgreSQL test setup, missing PHP ZipArchive, and two existing source/baseline assertions)

Paired client PR

  • Dwemer-Dynamics/CHIM#139

Limits

  • not yet verified through a live in-game Soulgaze gesture
  • the live location had no prompt-eligible visual context, so the positive Visual Description: Saved runtime state remains unverified in-game

Matt and others added 24 commits August 16, 2026 01:41
The ALTER ... ADD COLUMN IF NOT EXISTS statements for retry_count and
last_error live inside _relCreateQueueTable() / _relCreateInitQueueTable(),
which are only called from the catch block of the enqueue path - reached only
when the table is missing entirely.

On an install whose queue table was created before last_error was added, the
enqueue path never throws, so the migration never runs. The retry bookkeeping
UPDATE then fails with

    column "last_error" of relation "relationship_eval_queue" does not exist

and since a failed query is logged rather than thrown, retry_count is never
incremented. The entry never reaches max retries and is retried on every worker
tick indefinitely.

Ensure the columns at the point of use instead. Runs only when there is
something to retry and is memoised per process, so the normal path is
unaffected.
…handling, and refine quest generation prompts

- Added detailed error logging in `buildSituationalMapDescription` for better debugging of door fetching logic.
- Fixed potential issues in `rolemaster_helpers.php` by cleaning up unnecessary semicolons and ensuring consistent formatting.
- Updated `comm.php` to use a new metadata key for auto greetings, improving NPC interaction logic.
- Enhanced `api.php` to include teleportation logic for NPCs without disposition, ensuring smoother gameplay.
- Improved documentation in `api_doc.php` regarding item spawning and NPC interactions.
- Adjusted quest generation prompts in `agent0.php` to clarify user instructions and improve quest context.
- Increased the limit of points of interest fetched in `largemapview.php` from 10 to 20 for better exploration options.
Add CHIM-iNeed to the plugin repository
* Added check on gamedata.php update for market prices
@RANGROO RANGROO changed the title Ground Soulgaze narration in visual evidence Ground Soulgaze narration and report capture status Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant