Skip to content

feat(troubleshoot): language-invariant routing signatures + localization lint warning#1842

Draft
dmorosanu wants to merge 1 commit into
feat/troubleshoot-v2from
feat/troubleshoot-invariant-signatures
Draft

feat(troubleshoot): language-invariant routing signatures + localization lint warning#1842
dmorosanu wants to merge 1 commit into
feat/troubleshoot-v2from
feat/troubleshoot-invariant-signatures

Conversation

@dmorosanu

Copy link
Copy Markdown
Contributor

What

Stacked on #1820. Hardens signature-index routing for clients whose robot hosts run non-English system languages (.NET framework and Office/COM error text localizes with the host language; the index stores canonical English).

Two parts:

  1. Invariant signatures for 30 playbooks that previously routed only via localizable message fragments. Every addition is a signal the playbook's body already documents verbatim — exception classes, HTTP statuses, Google/Graph error reason codes, HRESULTs, Healing Agent operation codes/allowance fields — promoted into signatures: with discriminating notes wherever a value is claimed by more than one playbook. No playbook bodies changed; no values invented (files whose bodies document nothing invariant were deliberately left untouched).
  2. A lint warning in build-signature-index.py (INVARIANT_KINDS): a signature-bearing playbook with no invariant-kind signature is flagged — warning only, never affects the exit code. Baseline drops 68 → 38 warnings; the remaining 38 are genuinely message-only per body content and stay covered at runtime by SKILL.md's localized-text rule (route on invariant signals first; translate non-English messages to canonical English before grepping — added on refactor(troubleshoot): tiered signature-index investigator (v2 architecture) #1820).

Index regenerated: 215 playbooks, 674 signatures (+43), 22 silent. Manifest-command verifier and index freshness pass.

Language-invariance model

Signature kind Localizes?
exception, error-code, error-code-prefix, http-status, message-key Never — class names, codes, statuses, resource keys are language-invariant
message Host-side messages (.NET, Office/COM) localize; cloud-service messages (Orchestrator API, Graph/AADSTS, IS DAP-*, Slack codes) stay English
state API enum values are invariant; UI-quoted labels may not be

Validation

The 8 scenarios whose playbooks sit in the affected class (no-host-pending, getasset-network-connectivity, getasset-per-robot-no-value, healing-agent-no-license, python-loadscript-engine-init, o365-createfolder-invalid-path, invokevba-trust-access, plus no-healing-agent whose fixture evidence contains non-English UI text) are running against this branch — results will be posted as a comment.

@dmorosanu

Copy link
Copy Markdown
Contributor Author

Validation complete (local, judge-graded, skill loaded from this branch): 8/8 SUCCESS, all at 1.000, single iteration each (one scenario took a second iteration by simulator flow, still 1.000).

Scenario Score Wall
no-host-pending 1.000 5.4 min
getasset-network-connectivity 1.000 14.1 min
getasset-per-robot-no-value 1.000 5.2 min
healing-agent-no-license 1.000 7.8 min
python-loadscript-engine-init 1.000 10.7 min
o365-createfolder-invalid-path 1.000 5.2 min
invokevba-trust-access 1.000 6.5 min
no-healing-agent (non-English fixture evidence) 1.000 7.1 min

Selection rationale: these route through playbooks in the message-only (localization-exposed) class that this PR hardens — they are the first to break if the invariant-first prioritization or the added signatures steered routing wrong. No regression; the added signatures coexist with the message routing on English fixtures.

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