diff --git a/NOTICE.md b/NOTICE.md index 94ea078..531e612 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -6,6 +6,12 @@ The RelayView owner, its private prompts, and its separate open trust modules ar The optional role guidance is written for RelayView from the owner's personal skill collection. Several source skills trace to Matt Pocock's skills at revision `c55ee46073ed923f86ce59a5eb3b6d895095d1b7`; the `c4-diff` source skill traces to Jo Van Eyck's skills at revision `f2de8f7042a5125116ed27627fc7320b73048469`. Their MIT copyright and permission notices are preserved below. No plugin text, code, or assets are redistributed. This release has no third-party runtime dependencies or vendored executable assets. Python's standard library runs the authoring checks and is not bundled into a skill package. +The three investigation packages are original RelayView guidance released under +this repository’s MIT license. They express the role-local investigation method; +no private owner implementation, protocol, or other private prompt is included. +Their identical investigation.md resources share one method across separately +scoped packages. + ## Matt Pocock source-skill notice MIT License diff --git a/README.md b/README.md index 2ee0043..eae9ce7 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ Public source for RelayView-maintained instruction-only role skills and an illus | Directory | Status | Role / step | Version | | --- | --- | --- | --- | +| `packages/{planner,implementer,reviewer}-investigation` | Maintained automatic guidance | One matching role / step each | 0.7.0 | | `packages/planner-scope` | Maintained default | Planner / planning | 0.2.0 | | `packages/implementer-handoff` | Maintained default | Implementer / implementation | 0.2.0 | | `packages/issue-designer-default` | Maintained default | Designer / design | 0.6.1 | diff --git a/packages/implementer-investigation/SKILL.md b/packages/implementer-investigation/SKILL.md new file mode 100644 index 0000000..2ca8cab --- /dev/null +++ b/packages/implementer-investigation/SKILL.md @@ -0,0 +1,15 @@ +--- +name: implementer-investigation +description: Investigate source, generated configuration, load order and negative search results within the assigned implementer boundary. +metadata: + relayview-display-name: Implementer investigation + relayview-version: 0.7.0 +--- + +Use the admitted command/filesystem boundary. Inspect relevant package defaults, +system configuration, runtime state, reference repositories and symlink targets +read-only when that boundary admits them. Use absolute paths and line numbers +when reporting external findings. If access is denied, use the owner-provided +recovery contract and identify the missing evidence. + +The included investigation resource supplies the search method. diff --git a/packages/implementer-investigation/investigation.md b/packages/implementer-investigation/investigation.md new file mode 100644 index 0000000..533feaa --- /dev/null +++ b/packages/implementer-investigation/investigation.md @@ -0,0 +1,14 @@ +# Search and investigation + +Trace load order before treating a negative search as evidence of absence. Follow +includes, imports, sources, require/dofile calls, symlinks and generated outputs +within the assigned boundary. Identify which file is actually loaded and whether +a generator or package default supplies its value. + +Search interpreted configuration for literal values and expression pieces: +modifier variables (mainMod, modKey, mod, leader), key or path fragments, function +and dispatcher names, modes, section names and visible outcomes. For example, +a binding may join mainMod with " + S" rather than contain "SUPER + S". +Combine alternatives in one broad search where the assigned search tool supports +it. When results are empty, check the search method, load order and admitted scope +before concluding the behavior is missing. diff --git a/packages/implementer-investigation/relayview-skill.json b/packages/implementer-investigation/relayview-skill.json new file mode 100644 index 0000000..788b472 --- /dev/null +++ b/packages/implementer-investigation/relayview-skill.json @@ -0,0 +1,19 @@ +{ + "schemaVersion": 1, + "source": { + "kind": "first-party", + "reference": "v0.7.0" + }, + "role": "implementer", + "step": "implementation", + "files": [ + { + "path": "SKILL.md", + "sha256": "7775acb6525cf134d33321c3f4d79c074903086dc948138ef747af53f88e8ef5" + }, + { + "path": "investigation.md", + "sha256": "714f05eb6cd6f68fe7a44ed352fffcc6309a348d9184edb03b4724c16af9228c" + } + ] +} diff --git a/packages/planner-investigation/SKILL.md b/packages/planner-investigation/SKILL.md new file mode 100644 index 0000000..70a89e5 --- /dev/null +++ b/packages/planner-investigation/SKILL.md @@ -0,0 +1,15 @@ +--- +name: planner-investigation +description: Investigate source, generated configuration, load order and negative search results within the assigned planner boundary. +metadata: + relayview-display-name: Planner investigation + relayview-version: 0.7.0 +--- + +Use only assigned read roots and the assigned read/search tools. Investigate +package defaults, generated configuration, runtime state or reference repositories +only when they are in those roots. If relevant evidence lies elsewhere, identify +the missing evidence and use the owner-provided supporting-evidence recovery +contract. Check that each cited file belongs to an assigned root. + +The included investigation resource supplies the search method. diff --git a/packages/planner-investigation/investigation.md b/packages/planner-investigation/investigation.md new file mode 100644 index 0000000..533feaa --- /dev/null +++ b/packages/planner-investigation/investigation.md @@ -0,0 +1,14 @@ +# Search and investigation + +Trace load order before treating a negative search as evidence of absence. Follow +includes, imports, sources, require/dofile calls, symlinks and generated outputs +within the assigned boundary. Identify which file is actually loaded and whether +a generator or package default supplies its value. + +Search interpreted configuration for literal values and expression pieces: +modifier variables (mainMod, modKey, mod, leader), key or path fragments, function +and dispatcher names, modes, section names and visible outcomes. For example, +a binding may join mainMod with " + S" rather than contain "SUPER + S". +Combine alternatives in one broad search where the assigned search tool supports +it. When results are empty, check the search method, load order and admitted scope +before concluding the behavior is missing. diff --git a/packages/planner-investigation/relayview-skill.json b/packages/planner-investigation/relayview-skill.json new file mode 100644 index 0000000..1ffc83c --- /dev/null +++ b/packages/planner-investigation/relayview-skill.json @@ -0,0 +1,19 @@ +{ + "schemaVersion": 1, + "source": { + "kind": "first-party", + "reference": "v0.7.0" + }, + "role": "planner", + "step": "planning", + "files": [ + { + "path": "SKILL.md", + "sha256": "e1410558c392100d9557d118a9d82e1068ed7a42142bcfe076f09ceed0dac966" + }, + { + "path": "investigation.md", + "sha256": "714f05eb6cd6f68fe7a44ed352fffcc6309a348d9184edb03b4724c16af9228c" + } + ] +} diff --git a/packages/reviewer-investigation/SKILL.md b/packages/reviewer-investigation/SKILL.md new file mode 100644 index 0000000..4aed190 --- /dev/null +++ b/packages/reviewer-investigation/SKILL.md @@ -0,0 +1,15 @@ +--- +name: reviewer-investigation +description: Investigate source, generated configuration, load order and negative search results within the assigned reviewer boundary. +metadata: + relayview-display-name: Reviewer investigation + relayview-version: 0.7.0 +--- + +Use only assigned read roots and the assigned read/search tools. Investigate +package defaults, generated configuration, runtime state or reference repositories +only when they are in those roots. If relevant evidence lies elsewhere, identify +the missing evidence and use the owner-provided supporting-evidence recovery +contract. Check that each cited file belongs to an assigned root. + +The included investigation resource supplies the search method. diff --git a/packages/reviewer-investigation/investigation.md b/packages/reviewer-investigation/investigation.md new file mode 100644 index 0000000..533feaa --- /dev/null +++ b/packages/reviewer-investigation/investigation.md @@ -0,0 +1,14 @@ +# Search and investigation + +Trace load order before treating a negative search as evidence of absence. Follow +includes, imports, sources, require/dofile calls, symlinks and generated outputs +within the assigned boundary. Identify which file is actually loaded and whether +a generator or package default supplies its value. + +Search interpreted configuration for literal values and expression pieces: +modifier variables (mainMod, modKey, mod, leader), key or path fragments, function +and dispatcher names, modes, section names and visible outcomes. For example, +a binding may join mainMod with " + S" rather than contain "SUPER + S". +Combine alternatives in one broad search where the assigned search tool supports +it. When results are empty, check the search method, load order and admitted scope +before concluding the behavior is missing. diff --git a/packages/reviewer-investigation/relayview-skill.json b/packages/reviewer-investigation/relayview-skill.json new file mode 100644 index 0000000..41960c3 --- /dev/null +++ b/packages/reviewer-investigation/relayview-skill.json @@ -0,0 +1,19 @@ +{ + "schemaVersion": 1, + "source": { + "kind": "first-party", + "reference": "v0.7.0" + }, + "role": "reviewer", + "step": "review", + "files": [ + { + "path": "SKILL.md", + "sha256": "f3c6395f3d077ad1a7901cf31ec7656df032292d0181be9dc8a18e36b92769c9" + }, + { + "path": "investigation.md", + "sha256": "714f05eb6cd6f68fe7a44ed352fffcc6309a348d9184edb03b4724c16af9228c" + } + ] +} diff --git a/tests/test_packages.py b/tests/test_packages.py index 38b555e..6ff16db 100644 --- a/tests/test_packages.py +++ b/tests/test_packages.py @@ -12,6 +12,21 @@ ROOT = Path(__file__).resolve().parents[1] class PackageTests(unittest.TestCase): + def test_role_investigation_packages(self): + for role, step in (("planner", "planning"), ("implementer", "implementation"), ("reviewer", "review")): + package = ROOT / "packages" / f"{role}-investigation" + check_package(package) + manifest = json.loads((package / "relayview-skill.json").read_text()) + self.assertEqual((manifest["role"], manifest["step"]), (role, step)) + text = (package / "SKILL.md").read_text() + (package / "investigation.md").read_text() + self.assertIn("Trace load order", text) + self.assertIn("expression pieces", text) + self.assertNotIn("disable-model-invocation: true", text) + if role != "implementer": + self.assertIn("assigned read roots", text) + for host in ("/etc/", "/usr/share/", "$HOME", "rg -n"): + self.assertNotIn(host, text) + def test_designer_release_modes_and_source(self): automatic = "issue-designer-default" manual = (