Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions integrations/rendered/claude/tapper-dev/skills/tapper-dev/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,27 @@ applicable invariants agree. A failed or incomplete gate returns work to the
earliest stage that can correct it. Do not turn `checking` or `conflict` into
success through prose.

Before assigning a verdict, recompute knowledge discovery against the final
tree rather than trusting only the plan's original cover. Start from the
touched KEG subjects and the vocabulary and behavior changed by the diff. Use
targeted `mcp__tapper__backlinks`, `mcp__tapper__links`, and
`mcp__tapper__grep` calls in the active flight's covered KEGs to find plausible
decisions, patterns, research, incidents, interfaces, and verifications, then
read only the relevant notes. Informative knowledge guides interpretation;
only applicable active or stale interfaces and verifications enter gating
cover. A relevant contract discovered late expands the cover and sends the
work back through any newly required gates.

Audit every retained comment, test, document, configuration value, fixture,
telemetry hook, and generated artifact that refers to removed, deprecated, or
legacy behavior. Each needs a surviving subject or consumer such as current
observable behavior, an accepted decision, a compatibility or migration
boundary, a security or protocol prohibition, or an active invariant. If its
only owner is the removal or obsolete implementation, treat it as orphaned
noise and return the work for correction. Rewrite artifacts around a broader
surviving invariant when that is the real contract; do not reject an artifact
merely because it uses the word `legacy`.

## Commit

Commit only the reviewed tree and follow the repository's commit convention.
Expand Down
21 changes: 21 additions & 0 deletions integrations/rendered/codex/tapper-dev/skills/tapper-dev/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,27 @@ applicable invariants agree. A failed or incomplete gate returns work to the
earliest stage that can correct it. Do not turn `checking` or `conflict` into
success through prose.

Before assigning a verdict, recompute knowledge discovery against the final
tree rather than trusting only the plan's original cover. Start from the
touched KEG subjects and the vocabulary and behavior changed by the diff. Use
targeted `mcp__tapper__backlinks`, `mcp__tapper__links`, and
`mcp__tapper__grep` calls in the active flight's covered KEGs to find plausible
decisions, patterns, research, incidents, interfaces, and verifications, then
read only the relevant notes. Informative knowledge guides interpretation;
only applicable active or stale interfaces and verifications enter gating
cover. A relevant contract discovered late expands the cover and sends the
work back through any newly required gates.

Audit every retained comment, test, document, configuration value, fixture,
telemetry hook, and generated artifact that refers to removed, deprecated, or
legacy behavior. Each needs a surviving subject or consumer such as current
observable behavior, an accepted decision, a compatibility or migration
boundary, a security or protocol prohibition, or an active invariant. If its
only owner is the removal or obsolete implementation, treat it as orphaned
noise and return the work for correction. Rewrite artifacts around a broader
surviving invariant when that is the real contract; do not reject an artifact
merely because it uses the word `legacy`.

## Commit

Commit only the reviewed tree and follow the repository's commit convention.
Expand Down
16 changes: 16 additions & 0 deletions pkg/integrations/adapters/claude_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,22 @@ func TestClaudeAdapter_BaselineExcludesDeveloperLifecycle(t *testing.T) {
t.Errorf("developer workflow missing %s", heading)
}
}
for _, want := range []string{
"recompute knowledge discovery",
"`mcp__tapper__backlinks`",
"`mcp__tapper__links`",
"`mcp__tapper__grep`",
"active or stale interfaces and verifications",
"Each needs a surviving subject or consumer",
"word `legacy`",
} {
if !strings.Contains(dev, want) {
t.Errorf("developer review workflow missing %q", want)
}
}
if strings.Contains(dev, "@foldwise/dev") {
t.Error("developer review workflow must not hardcode a project-specific KEG")
}
}

func TestStripLeadingH1(t *testing.T) {
Expand Down
16 changes: 16 additions & 0 deletions pkg/integrations/adapters/codex_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,22 @@ func TestCodexAdapter_SeparatesBaselineAndDeveloperWorkflow(t *testing.T) {
if !strings.Contains(dev, "baseline `tapper` plugin is required") || strings.Contains(string(mem.Files()["codex/tapper-dev/.codex-plugin/plugin.json"]), "mcpServers") {
t.Errorf("Codex prerequisite/MCP separation is wrong")
}
for _, want := range []string{
"recompute knowledge discovery",
"`mcp__tapper__backlinks`",
"`mcp__tapper__links`",
"`mcp__tapper__grep`",
"active or stale interfaces and verifications",
"Each needs a surviving subject or consumer",
"word `legacy`",
} {
if !strings.Contains(dev, want) {
t.Errorf("developer review workflow missing %q", want)
}
}
if strings.Contains(dev, "@foldwise/dev") {
t.Error("developer review workflow must not hardcode a project-specific KEG")
}
}

func TestPluginVersionNormalizesReleaseTag(t *testing.T) {
Expand Down
21 changes: 21 additions & 0 deletions pkg/integrations/renderdata/developer/workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,27 @@ applicable invariants agree. A failed or incomplete gate returns work to the
earliest stage that can correct it. Do not turn `checking` or `conflict` into
success through prose.

Before assigning a verdict, recompute knowledge discovery against the final
tree rather than trusting only the plan's original cover. Start from the
touched KEG subjects and the vocabulary and behavior changed by the diff. Use
targeted `mcp__tapper__backlinks`, `mcp__tapper__links`, and
`mcp__tapper__grep` calls in the active flight's covered KEGs to find plausible
decisions, patterns, research, incidents, interfaces, and verifications, then
read only the relevant notes. Informative knowledge guides interpretation;
only applicable active or stale interfaces and verifications enter gating
cover. A relevant contract discovered late expands the cover and sends the
work back through any newly required gates.

Audit every retained comment, test, document, configuration value, fixture,
telemetry hook, and generated artifact that refers to removed, deprecated, or
legacy behavior. Each needs a surviving subject or consumer such as current
observable behavior, an accepted decision, a compatibility or migration
boundary, a security or protocol prohibition, or an active invariant. If its
only owner is the removal or obsolete implementation, treat it as orphaned
noise and return the work for correction. Rewrite artifacts around a broader
surviving invariant when that is the real contract; do not reject an artifact
merely because it uses the word `legacy`.

## Commit

Commit only the reviewed tree and follow the repository's commit convention.
Expand Down
Loading