@oevery/rsp 3.1.0-beta.1 → 3.1.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: rsp-structural-audit
3
+ description: Audit one explicitly bounded repository or subtree for evidence-backed structural risks before implementation work is selected. Use for report-only discovery of ownership, dependency, production-path, change-amplification, or verification mismatches; do not use for security, performance, dependency, framework, style, or production-readiness audits.
4
+ license: MIT
5
+ metadata:
6
+ author: oevery
7
+ version: "2026.07.28.1"
8
+ ---
9
+
10
+ # RSP Structural Audit
11
+
12
+ Discover the few structural risks worth considering next. Return a report only.
13
+
14
+ ## Trigger and input
15
+
16
+ Use this Skill when the user wants to discover material structural risks in an existing codebase before a Change, fixed review scope, or bounded design question exists. Require one explicit repository or subtree boundary and honor narrower user questions and exclusions. An RSP Change is not required; if one is focused, use it only when it matches the requested scope.
17
+
18
+ Read nearest project instructions and context first. Then inspect only the smallest useful chain of entry points, direct callers or consumers, state and data owners, relevant configuration, and focused tests. Treat implementation, tests, comments, and directory structure as evidence rather than product authority.
19
+
20
+ Do not substitute this audit for security, performance, dependency, framework, style, production-readiness, or speculative cleanup work. Return that mismatch and the required specialist owner instead.
21
+
22
+ ## Authority
23
+
24
+ The user owns the audit boundary and requested outcome. Project instructions, Specs, and decisions own established constraints. A focused Change may provide intent or scope but grants no additional mutation authority.
25
+
26
+ This Skill owns only its response report. It never modifies project code, tests, configuration, documentation, RSP artifacts, focus, lifecycle state, Git state, or external systems. It does not create a Change, choose product intent, design a solution, apply a fix, or invoke another Skill.
27
+
28
+ ## Action and verification
29
+
30
+ After scope and authority are fixed, read [structural audit lenses](references/structural-lenses.md) and select only the lenses relevant to evidence already encountered. Trace concrete owners and live paths; do not scan every directory or apply every lens mechanically.
31
+
32
+ Qualify a finding only when exact repository evidence establishes a reachable trigger, a realistic impact, and the implicated ownership or behavior chain. Verify a seam-dependent finding by naming the direct production consumer and confirming whether its actual callee reaches or bypasses the seam. Compare focused tests or other verification evidence with that same live path when the finding depends on claimed coverage.
33
+
34
+ Report the smallest unresolved shaping or design question as `Next owner`. Route solution alternatives, seam recommendations, and reversible probes to `rsp-design`; do not develop them inside this audit.
35
+
36
+ Do not infer a finding from directory names, pattern matching, code size, framework taste, a generic checklist, or an isolated abstraction without a demonstrated downside. Prefer no finding to a weak finding. Stop inspecting when the requested boundary has enough evidence for at most five material findings, no qualifying finding remains, or further confidence requires authority or evidence outside the boundary.
37
+
38
+ ## Output
39
+
40
+ Render headings, field labels, explanations, and conclusions in the language explicitly requested by the user; otherwise follow nearest project instructions, then the conversation language. Treat the shape below as semantic field order rather than fixed English wording, while preserving paths, severity labels, confidence values, and the result values `findings`, `clean`, and `scoped uncertainty`.
41
+
42
+ Return findings ranked by material impact, then confidence. Emit at most five and use this shape:
43
+
44
+ ```md
45
+ ## Audit scope
46
+ - Boundary: <repository or subtree>
47
+ - Authority: <instructions, constraints, and material gaps>
48
+ - Inspected: <entry points and smallest behavior chains>
49
+ - Excluded: <explicit exclusions and unsupported specialist audits>
50
+
51
+ ## Findings
52
+ ### [P1-P3] <structural risk>
53
+ - Lens: <ownership | dependency | production path | change amplification | verification>
54
+ - Evidence: <exact paths and concrete chain>
55
+ - Trigger: <reachable condition>
56
+ - Impact: <real consequence>
57
+ - Confidence: <high | medium | low>
58
+ - Next owner: <smallest shaping or design question, or user decision>
59
+
60
+ ## Coverage
61
+ - <checked paths, unresolved uncertainty, and unobserved runtime behavior>
62
+
63
+ ## Result
64
+ <findings | clean | scoped uncertainty, with the smallest next action>
65
+ ```
66
+
67
+ Use `clean` when the inspected boundary contains no evidenced structural risk. Use `scoped uncertainty` when missing authority, inaccessible evidence, or an unsafe runtime requirement prevents judgment; name exactly what is missing and its owner. Do not manufacture advice to fill the report.
68
+
69
+ ## Stop
70
+
71
+ Stop before auditing when the boundary or owner intent is materially ambiguous. Stop during inspection when evidence requires credentials, an unsafe or destructive probe, production side effects, mutation, or material expansion beyond the explicit boundary. Return the evidence collected, the unverified claim, and one smallest next action. Never continue into shaping, design, implementation, review, archive, Git delivery, publication, deployment, or approval.
@@ -0,0 +1,41 @@
1
+ # Structural audit lenses
2
+
3
+ Load this reference only after the audit boundary and authority are fixed. Select the smallest relevant set of lenses; do not turn them into a completion checklist.
4
+
5
+ ## Candidate selection in a broad boundary
6
+
7
+ When the user supplies a broad repository boundary without a narrower lead, use repeated changes, recurring defects, or cross-owner correction history only to select the smallest candidate behavior chain. Churn is navigation evidence, not a Finding. Inspect the current owners and reachable path before applying any lens, and return `clean` when the selected chain has no concrete structural downside.
8
+
9
+ ## Ownership and sources of truth
10
+
11
+ Trace where important state or data is created, validated, mutated, persisted, recovered, and consumed. Look for competing writers, duplicated authority, or a lifecycle whose transitions are split across owners that cannot enforce the same invariants. A cache, projection, generated artifact, or test fixture is not automatically a competing source of truth. Report only when a reachable path can diverge and the divergence has a concrete consequence.
12
+
13
+ ## Module and dependency direction
14
+
15
+ Start from a direct consumer and list what it must know about the provider: policy, representation, ordering, failure behavior, configuration, and lifecycle. Look for dependency direction that forces an owner to understand another module's internals, or a boundary that leaks enough decisions to amplify ordinary changes. An import, large module, circular-looking name, or missing interface is not sufficient; establish actual caller burden or invalid-state exposure.
16
+
17
+ For suspected shallow indirection, reason through removal before calling it redundant. If removal eliminates the apparent complexity, the layer may be pass-through. If required policy, invariants, or failure knowledge instead disperses into callers, the layer may be earning locality. Thinness alone proves neither result; retain a Finding only when the live chain also establishes a reachable trigger and concrete impact.
18
+
19
+ ## Production-path reachability
20
+
21
+ Trace the smallest complete path from a real entry point to the behavior under examination. For an adapter, validator, normalizer, wrapper, or policy seam, name the direct production caller and its actual callee. Report a bypass only when the live consumer reaches a different path, and distinguish an unused seam from a seam used by another valid entry point. Do not treat API existence, registration, generated code, or an isolated passing test as proof of lifecycle integration.
22
+
23
+ ## Change amplification and repeated knowledge
24
+
25
+ Use repository history only when it is available and necessary; otherwise trace one representative behavior across schemas, types, adapters, callers, configuration, tests, and documentation. Report amplification when one behavioral change requires independently maintained edits because ownership is fragmented. Similar text, generated output, deliberate boundary translation, and test fixtures are not duplication by themselves. Code reduction is never the objective.
26
+
27
+ ## Verification mismatch
28
+
29
+ Map focused tests, assertions, or checks to the same production path and public behavior claimed by the implementation. Look for tests that exercise only an isolated seam while the live consumer bypasses it, or verification that cannot observe the relevant state transition or failure contract. Missing tests alone are not a structural finding; establish that existing evidence creates false confidence or leaves a material invariant unverified.
30
+
31
+ ## Finding gate and ranking
32
+
33
+ Before retaining a finding, answer all of these from repository evidence:
34
+
35
+ 1. What exact entry point, owner, caller, or artifact anchors it?
36
+ 2. What reachable condition triggers the problem?
37
+ 3. What realistic user, operator, data, or change-cost impact follows?
38
+ 4. Which evidence confirms the full chain, and what remains unobserved?
39
+ 5. What is the smallest next owner: a user decision, shaping question, or one bounded design question?
40
+
41
+ Discard the finding when any of the first three answers is speculative. Rank retained findings by impact and confidence, not ease of cleanup. Use P1 for a normal-path structural failure with significant correctness or data consequences, P2 for a meaningful edge or recurring change risk, and P3 only for a narrow actionable maintenance risk. Do not emit P0 from this general structural audit; route suspected critical security, safety, or data-loss work to the appropriate specialist or incident owner.