Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f6cce14a8 | ||
|
|
1756c46c06 | ||
|
|
74ace113f6 | ||
|
|
a6fe199ba7 | ||
|
|
82c070df41 | ||
|
|
64164444e6 | ||
|
|
2d7bf2404a |
No files matched your search
@@ -7,8 +7,8 @@ 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.8.0 |
|
||||
| `packages/implementer-handoff` | Maintained default | Implementer / implementation | 0.2.0 |
|
||||
| `packages/planner-scope` | Maintained default | Planner / planning | 0.8.1 |
|
||||
| `packages/implementer-handoff` | Maintained default | Implementer / implementation | 0.9.0 |
|
||||
| `packages/issue-designer-default` | Maintained default | Designer / design | 0.6.1 |
|
||||
| `packages/designer-wayfinder`, `designer-grilling` | Optional manual guidance | Designer / design | 0.6.0 |
|
||||
| `packages/designer-prototype` | Optional manual guidance | Designer / design | 0.6.2 |
|
||||
@@ -35,7 +35,7 @@ Public source for RelayView-maintained instruction-only role skills and an illus
|
||||
| `packages/c4-diff` | Optional guidance | Reviewer / review | 0.3.0 |
|
||||
| `examples/starter-planner` | Illustrative starter; not a production default | Planner / planning | 0.1.0 |
|
||||
|
||||
Only named releases of maintained packages receive RelayView compatibility testing and maintenance. Optional guidance requires explicit role assignment; the Planner and Implementer defaults remain available alongside the pinned Issue Designer default. User forks are maintained by their publishers. This release uses the instruction package schema version 1 admitted by RelayView's Community MVP. It contains only `SKILL.md`, declared `.md`/`.txt` resources, and `relayview-skill.json` within each package. Scripts, executable files, undeclared files, and requested permissions fail checks and owner admission. There is no fixed release calendar: maintained packages are versioned when their content or compatibility changes. A breaking owner contract requires a new compatible maintained release before the product depends on it.
|
||||
Only named releases of maintained packages receive RelayView compatibility testing and maintenance. Optional guidance requires explicit role assignment; the Planner and Implementer defaults remain available alongside the pinned Issue Designer default. User forks are maintained by their publishers. Instruction packages use schema version 1, or schema version 2 for a Planner package declaring owner-validated `issueClaim` metadata. Schema 2 accepts a nullable target status label; the owner enforces the claim transition after proved implementation handoff. It contains only `SKILL.md`, declared `.md`/`.txt` resources, and `relayview-skill.json` within each package. Scripts, executable files, undeclared files, and requested permissions fail checks and owner admission. There is no fixed release calendar: maintained packages are versioned when their content or compatibility changes. A breaking owner contract requires a new compatible maintained release before the product depends on it.
|
||||
|
||||
## A named set in RelayView
|
||||
|
||||
@@ -87,3 +87,5 @@ Judge a change over several runs, using the tool calls each run made, not one su
|
||||
A release tag pins public source. CI runs package checks and archives from that source. RelayView's bundled copy records the source tag and commit plus each package identity and file hash, then verifies the bytes in its own focused test. A bundled update creates a new release identity; it does not overwrite a user fork.
|
||||
|
||||
The MIT license covers this repository only. The contribution policy is in [CONTRIBUTING.md](CONTRIBUTING.md); dependency notices are in [NOTICE.md](NOTICE.md).
|
||||
|
||||
The automatic `code-review-auto` package supplies optional bounded, path-aware finding presentation. Broader two-axis standards/spec inspection remains in the manual `code-review` package. Both use only the assigned Reviewer capabilities; required adequacy, disposition and recovery stay with the owner.
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
name: code-review-auto
|
||||
description: Present findings for the owner-assigned review candidate.
|
||||
metadata:
|
||||
relayview-display-name: Review finding presentation
|
||||
relayview-version: 0.10.0
|
||||
---
|
||||
|
||||
# Review finding presentation
|
||||
|
||||
Keep findings bounded, path-aware, and actionable.
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.10.0"
|
||||
},
|
||||
"role": "reviewer",
|
||||
"step": "review",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "5a09004af9e208a80712dba2dad2975fcd457f296472f8cd2e13f48b43d0950d"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Review the owner-pinned candidate against repository standards and
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Code review
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.10.0
|
||||
---
|
||||
|
||||
# Two-axis code review
|
||||
@@ -12,3 +12,5 @@ metadata:
|
||||
Review only the candidate and commit identity supplied by the owner. Keep standards and Plan fidelity separate. For standards, cite the exact repository rule and changed hunk; identify possible design smells as judgment calls, never as rule violations. A documented local standard takes precedence over a general heuristic. For Plan fidelity, identify missing or partial requirements, unrequested behavior, and behavior whose implementation contradicts the accepted Plan. Cite the Plan clause and code evidence for each finding.
|
||||
|
||||
Report both axes even if one has no findings. Distinguish evidence, inference, and uncertainty; skip issues already enforced by tooling unless the enforcement itself failed. Do not edit the candidate, create subagents, choose a new base, change the acceptance state, or request a new review run. The owner controls review scheduling, exact-head binding, and the response to findings.
|
||||
|
||||
Keep findings bounded, path-aware, and actionable.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.10.0"
|
||||
},
|
||||
"role": "reviewer",
|
||||
"step": "review",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "c2b05163e738e59573b96f723d5340f56304299bcdf251e38b2d2afb4eda2b5a"
|
||||
"sha256": "bb7e5e4d30dcf43eddb9e16ddf7e7ddad123fba18ef7b22286b8b1233888b81b"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,12 +3,12 @@ name: implementer-handoff
|
||||
description: Reconcile verified implementation documentation and prepare review content during implementation.
|
||||
metadata:
|
||||
relayview-display-name: Implementer handoff
|
||||
relayview-version: 0.2.0
|
||||
relayview-version: 0.9.0
|
||||
---
|
||||
|
||||
# Implementer handoff
|
||||
|
||||
During the assigned implementation step, keep the repository's current-behavior documentation aligned with the code and checks you actually completed. Read the project's documentation rules and the relevant existing contract before editing it. Use the [handoff guide](handoff.md) for the documentation disposition and review content.
|
||||
During the assigned implementation step, keep the repository's current-behavior documentation aligned with the code and checks you actually completed. Read the project's documentation rules and the relevant existing contract before editing it. Use the [handoff guide](handoff.md) for implementation clarification, documentation disposition and review content.
|
||||
|
||||
Prepare a concise, attributable review handoff when the assigned workflow gives you a place to submit one. Identify the exact candidate, focused checks and their observed results, any manual evidence and its observer, unresolved limitations, and the documentation disposition. A command attempted is not a check passed; report failures and stale evidence explicitly.
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Handoff guide
|
||||
|
||||
## Implementation and clarification
|
||||
|
||||
Read the relevant files and make focused changes. Use the assigned investigation method for repository discovery; this handoff method owns clarification and report preparation.
|
||||
|
||||
Ask the planner for more information when blocked after reasonable investigation. If the final contract appears wrong, explain the mismatch clearly, make the safest local correction if obvious within the authoritative scope, and validate it. Clarification methods guide communication; scope changes require owner authority.
|
||||
|
||||
## Documentation
|
||||
|
||||
- Update the current-behavior contract only for behavior verified on the candidate. Keep proposed work clearly proposed.
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.2.0"
|
||||
"reference": "v0.9.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "bfeafa2d7780fe2c0bb4206ab9a03acd12804347ceb0f3ffb3e06e1be514c852"
|
||||
"sha256": "a826d49f478018190539843022b83c11e7a034fa3597edcc85b8a57c65ac434d"
|
||||
},
|
||||
{
|
||||
"path": "handoff.md",
|
||||
"sha256": "303c3e792cf0e8da6215e6eeb69f5a2f1f2bd0b67db016160d9e83a970ad95d3"
|
||||
"sha256": "17a32948aeb0e0359c92924219e6c328f3422773d5d878ffbcf0bf2f07a99aeb"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,7 +3,7 @@ name: planner-scope
|
||||
description: Check assigned issue scope, neighboring work, and verification before drafting a Plan.
|
||||
metadata:
|
||||
relayview-display-name: Planner scope
|
||||
relayview-version: 0.8.0
|
||||
relayview-version: 0.8.1
|
||||
---
|
||||
|
||||
# Planner scope
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"schemaVersion": 2,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.8.0"
|
||||
"reference": "v0.8.1"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
@@ -12,7 +12,7 @@
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "7dbd2ace7472a75c69b70ea118333429dfc7d56e5374454724805aa783cc0112"
|
||||
"sha256": "94119fd02a634007f44c227e523802d8f8a7249a97a5526b888d8739401645a2"
|
||||
},
|
||||
{
|
||||
"path": "scope.md",
|
||||
|
||||
+39
-1
@@ -12,6 +12,44 @@ ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
class PackageTests(unittest.TestCase):
|
||||
def test_automatic_review_is_only_extracted_presentation(self):
|
||||
package = ROOT / "packages/code-review-auto"
|
||||
check_package(package)
|
||||
text = (package / "SKILL.md").read_text()
|
||||
self.assertIn("path-aware, and actionable", text)
|
||||
self.assertNotIn("Report both axes", text)
|
||||
self.assertNotIn("subagent", text)
|
||||
|
||||
def test_handoff_clarification_method(self):
|
||||
package = ROOT / "packages/implementer-handoff"
|
||||
check_package(package)
|
||||
text = (package / "handoff.md").read_text()
|
||||
self.assertIn("blocked after reasonable investigation", text)
|
||||
self.assertIn("scope changes require owner authority", text)
|
||||
self.assertNotIn("Trace load order", text)
|
||||
|
||||
def test_schema_two_claim_policy_bounds(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
package = Path(directory) / "planner-scope"
|
||||
shutil.copytree(ROOT / "packages/planner-scope", package)
|
||||
sidecar = package / "relayview-skill.json"
|
||||
original = json.loads(sidecar.read_text())
|
||||
for label in (None, "status/review"):
|
||||
manifest = dict(original, issueClaim={"statusLabel": label})
|
||||
sidecar.write_text(json.dumps(manifest))
|
||||
check_package(package)
|
||||
for claim in ({}, [], {"statusLabel": "status/ready-for-agent"},
|
||||
{"statusLabel": 42}, {"statusLabel": "review"},
|
||||
{"statusLabel": None, "extra": True}):
|
||||
with self.subTest(claim=claim):
|
||||
sidecar.write_text(json.dumps(dict(original, issueClaim=claim)))
|
||||
with self.assertRaises(PackageError):
|
||||
check_package(package)
|
||||
for role, step in (("implementer", "implementation"), ("reviewer", "review"), ("designer", "design")):
|
||||
sidecar.write_text(json.dumps(dict(original, role=role, step=step)))
|
||||
with self.assertRaises(PackageError):
|
||||
check_package(package)
|
||||
|
||||
def test_planner_scope_presentation_and_claim(self):
|
||||
package = ROOT / "packages/planner-scope"
|
||||
check_package(package)
|
||||
@@ -113,7 +151,7 @@ class PackageTests(unittest.TestCase):
|
||||
package = ROOT / "packages" / name
|
||||
manifest = json.loads((package / "relayview-skill.json").read_text())
|
||||
self.assertEqual((manifest["role"], manifest["step"]), (role, step))
|
||||
self.assertEqual(manifest["source"], {"kind": "first-party", "reference": "v0.2.0"})
|
||||
self.assertEqual(manifest["source"], {"kind": "first-party", "reference": "v0.8.1" if name == "planner-scope" else "v0.9.0"})
|
||||
self.assertIn(resource, [item["path"] for item in manifest["files"]])
|
||||
self.assertIn(marker, (package / "SKILL.md").read_text() + (package / resource).read_text())
|
||||
|
||||
|
||||
Reference in new issue
Block a user