Gopherbot Architecture Guardrails
When To Use
Use this skill for non-trivial changes that touch one or more of:
- Simultaneous multi-protocol runtime behavior
- Connector fan-in/fan-out routing
- Identity mapping and authorization decisions
- Startup flow, protocol selection, or configuration precedence
- Cross-connector failure isolation and ordering guarantees
- Robot bootstrap/setup workflow that affects startup, config loading, or connector semantics
Do not use this skill for small isolated plugin/job/task changes that do not affect connector, identity, routing, startup, or config behavior.
Mandatory Preflight (Strict)
Before coding any non-trivial change, do all of the following:
- Read (in order):
aidocs/README.md, aidocs/COMPONENT_MAP.md, aidocs/STARTUP_FLOW.md, aidocs/GOALS_v3.md.
- Review
aidocs/TESTING_CURRENT.md for harness constraints.
- Summarize: architectural invariants, startup ordering, connector assumptions, routing model, identity model.
- Produce an Impact Surface Report using
references/impact-surface-report-template.md.
- Share the report in task context before implementation, unless explicitly waived by the user.
If waived, record the waiver in task context (example: "Impact report waived by user for this narrow change").
Hybrid Working Model
This skill uses both:
- Checklist guardrails (always enforced)
- Light runbook phases (recommended order, adjustable with explicit rationale)
Checklist Guardrails (Always)
- Shared authorization and business-policy logic stays in engine flows.
- Permission checks use protocol-agnostic username, not raw transport IDs.
- Connectors may use transport-specific internal user IDs, but must map IDs to shared username via roster.
- Cross-protocol identity equivalence must be explicit (never inferred heuristically).
- Per-connector message ordering guarantees must be preserved.
- Startup/control flow and config precedence must remain explicit and deterministic.
- When multiple connectors are enabled, connector failure isolation must prevent cascade failure.
Recommended Phase Order (Runbook)
- Identity and authorization substrate
- Multi-connector runtime orchestration
- Routing semantics and connector-local behavior boundaries
- Startup/configuration/default behavior migration
- Tests, documentation, and compatibility hardening
You may reorder phases when necessary, but state why in the impact report or task context.
Required Artifacts Per Non-Trivial Change
Use these templates:
- Impact report:
references/impact-surface-report-template.md
- PR invariants checklist:
references/pr-invariants-checklist-template.md
- Compatibility note:
references/compatibility-note-template.md
The compatibility note is required whenever behavior, config defaults, operator workflow, or externally visible semantics change.
Execution Rhythm For Large Changes
Work in thin vertical slices:
- Write impact report for one slice.
- Implement only that slice.
- Run focused tests first, then broader suite as needed.
- Fill PR checklist and compatibility note.
- Update affected
aidocs/ files in the same change.
Prefer multiple coherent PRs over one monolithic refactor.
Testing And Documentation Gates
- Verify behavior against
aidocs/STARTUP_FLOW.md if startup/config/order is touched.
- Update
aidocs/COMPONENT_MAP.md for connector/module movement.
- Update connector-specific docs (
aidocs/SSH_CONNECTOR.md, aidocs/SLACK_CONNECTOR.md, etc.) when semantics change.
- For test harness assumptions, verify with
aidocs/TESTING_CURRENT.md.
- When integration tests are applicable, finish by running them and classifying each failure as either:
- real regression / newly introduced bug
- intentional behavior change with outdated test expectations
- Do not "fix" failing integration tests by updating assertions until that classification is explicit.
MCP Note
This skill assumes no MCP dependency for current work. Ignore MCP setup unless a future task explicitly requires MCP-backed tooling.
Resources
references/impact-surface-report-template.md
references/pr-invariants-checklist-template.md
references/compatibility-note-template.md
scripts/scaffold-change-docs.sh
Source: lnxjedi/gopherbot — distributed by TomeVault.
1---2name: gopherbot-architecture-guardrails3description: Use when implementing or reviewing cross-cutting Gopherbot architecture changes that touch connectors, routing, startup/configuration, identity/authorization, or compatibility. Enforces strict pre-change impact analysis plus per-change invariants/testing/documentation checks.4---56# Gopherbot Architecture Guardrails78## When To Use910Use this skill for non-trivial changes that touch one or more of:1112- Simultaneous multi-protocol runtime behavior13- Connector fan-in/fan-out routing14- Identity mapping and authorization decisions15- Startup flow, protocol selection, or configuration precedence16- Cross-connector failure isolation and ordering guarantees17- Robot bootstrap/setup workflow that affects startup, config loading, or connector semantics1819Do not use this skill for small isolated plugin/job/task changes that do not affect connector, identity, routing, startup, or config behavior.2021## Mandatory Preflight (Strict)2223Before coding any non-trivial change, do all of the following:24251. Read (in order): `aidocs/README.md`, `aidocs/COMPONENT_MAP.md`, `aidocs/STARTUP_FLOW.md`, `aidocs/GOALS_v3.md`.262. Review `aidocs/TESTING_CURRENT.md` for harness constraints.273. Summarize: architectural invariants, startup ordering, connector assumptions, routing model, identity model.284. Produce an Impact Surface Report using `references/impact-surface-report-template.md`.295. Share the report in task context before implementation, unless explicitly waived by the user.3031If waived, record the waiver in task context (example: "Impact report waived by user for this narrow change").3233## Hybrid Working Model3435This skill uses both:3637- Checklist guardrails (always enforced)38- Light runbook phases (recommended order, adjustable with explicit rationale)3940### Checklist Guardrails (Always)4142- Shared authorization and business-policy logic stays in engine flows.43- Permission checks use protocol-agnostic username, not raw transport IDs.44- Connectors may use transport-specific internal user IDs, but must map IDs to shared username via roster.45- Cross-protocol identity equivalence must be explicit (never inferred heuristically).46- Per-connector message ordering guarantees must be preserved.47- Startup/control flow and config precedence must remain explicit and deterministic.48- When multiple connectors are enabled, connector failure isolation must prevent cascade failure.4950### Recommended Phase Order (Runbook)51521. Identity and authorization substrate532. Multi-connector runtime orchestration543. Routing semantics and connector-local behavior boundaries554. Startup/configuration/default behavior migration565. Tests, documentation, and compatibility hardening5758You may reorder phases when necessary, but state why in the impact report or task context.5960## Required Artifacts Per Non-Trivial Change6162Use these templates:6364- Impact report: `references/impact-surface-report-template.md`65- PR invariants checklist: `references/pr-invariants-checklist-template.md`66- Compatibility note: `references/compatibility-note-template.md`6768The compatibility note is required whenever behavior, config defaults, operator workflow, or externally visible semantics change.6970## Execution Rhythm For Large Changes7172Work in thin vertical slices:73741. Write impact report for one slice.752. Implement only that slice.763. Run focused tests first, then broader suite as needed.774. Fill PR checklist and compatibility note.785. Update affected `aidocs/` files in the same change.7980Prefer multiple coherent PRs over one monolithic refactor.8182## Testing And Documentation Gates8384- Verify behavior against `aidocs/STARTUP_FLOW.md` if startup/config/order is touched.85- Update `aidocs/COMPONENT_MAP.md` for connector/module movement.86- Update connector-specific docs (`aidocs/SSH_CONNECTOR.md`, `aidocs/SLACK_CONNECTOR.md`, etc.) when semantics change.87- For test harness assumptions, verify with `aidocs/TESTING_CURRENT.md`.88- When integration tests are applicable, finish by running them and classifying each failure as either:89 - real regression / newly introduced bug90 - intentional behavior change with outdated test expectations91- Do not "fix" failing integration tests by updating assertions until that classification is explicit.9293## MCP Note9495This skill assumes no MCP dependency for current work. Ignore MCP setup unless a future task explicitly requires MCP-backed tooling.9697## Resources9899- `references/impact-surface-report-template.md`100- `references/pr-invariants-checklist-template.md`101- `references/compatibility-note-template.md`102- `scripts/scaffold-change-docs.sh`103104---105> Source: [lnxjedi/gopherbot](https://github.com/lnxjedi/gopherbot) — distributed by [TomeVault](https://tomevault.io).106<!-- tomevault:4.0:skill_md:2026-06-27 -->