chore(pr-review): add .pr-review.json with canalhandia-specific steer + repo context

Wires the new ADDITIONAL_CONTEXT_URL feature on the central webhook service
(see gitea_admin/pragent e8ebc54) — fetches a static maintainer-curated brief
from the Nexus raw-hosted repo at review time. The doc distils the house
rules so the agent doesn't have to re-derive them from the diff each PR:

* chat messages are immutable after send (counts baked into buttons freeze)
* translatable components + singular-form rule for pt-BR sentences
* Geyser/Bedrock can't click — every click has a typed fallback
* vanilla stats only — <world>/players/stats/<uuid>.json, NOT <world>/stats
* reactions keep counting late (reacao-validade-minutos)
* Floodgate is optional runtime, never compile-time

Plus the canonical focus/instructions/languages config: java, balanced style,
claude-sonnet-5 cost target, JDK 25 build note.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
marcos
2026-08-20 17:53:24 +00:00
parent dfb84047ec
commit f24af7ab08
+5 -2
View File
@@ -14,7 +14,7 @@
"style": "balanced", "style": "balanced",
"require_tests": true, "require_tests": true,
"exclude_tests": false, "exclude_tests": false,
"max_findings": 12, "max_findings": 15,
"severity_threshold": "low", "severity_threshold": "low",
"patterns": { "patterns": {
"deny": [ "deny": [
@@ -23,5 +23,8 @@
] ]
}, },
"cost_target": "claude-sonnet-5", "cost_target": "claude-sonnet-5",
"instructions": "Minecraft plugin (Paper 26.2, Java 25 build). Watch thread-safety on event handlers (PlayerDeathEvent, PlayerInteractEvent) \u2014 the Bukkit main thread is single-threaded but async chunks/events cross it. Avoid main-thread I/O; defer expensive scans (chunk loading, spiral search) to scheduled tasks or async paths. Flag mutable shared state across listener invocations. Keep public API in /canalhandia modulo ... commands discoverable." "additional_context_urls": [
"http://nexus-service.nexus.svc.cluster.local:8081/repository/raw-hosted/canalhandia/architecture.md"
],
"instructions": "Minecraft plugin (Paper 26.2, pt-BR, JDK 25 build). Chat-only — never touch gameplay. Watch thread-safety on event handlers (PlayerDeathEvent, PlayerInteractEvent) — the Bukkit main thread is single-threaded but async chunks/events cross it. Avoid main-thread I/O; defer expensive scans (chunk loading, spiral search) to scheduled tasks or async paths. Flag mutable shared state across listener invocations. Hard constraints: chat messages are immutable after send (counts baked into buttons freeze at send time); names go out as translatable components so the singular-form rule applies (number never agrees with the noun); Geyser/Bedrock cannot click and cannot show emoji (every click has a typed fallback); vanilla statistics are the only data source (offline path is <world>/players/stats/<uuid>.json, NOT <world>/stats); reactions keep counting late (reacao-validade-minutos); Floodgate is optional runtime dep. Flag: real bugs, missing persistence of new settings, comando/permission not in plugin.yml, breaking Bedrock equivalent invariant, removing the frozen-at-send assumption, violating singular-form rule, missing Stats.resolve() on renames."
} }