Skip to content

Remove Resource _tag and derive profiles from URI schemes - #262

Merged
schickling merged 1 commit into
mainfrom
schickling/2026-08-17-remove-tag
Aug 17, 2026
Merged

Remove Resource _tag and derive profiles from URI schemes#262
schickling merged 1 commit into
mainfrom
schickling/2026-08-17-remove-tag

Conversation

@schickling

@schickling schickling commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Problem

Resource identity already lives in uri, but Agent Specs also carried _tag. The two discriminators could disagree and required special legacy handling.

Goal

Make the URI scheme the sole Resource-profile discriminator and reject _tag like any unsupported Resource attribute.

Decisions

  • Clean break: no compatibility shim or special _tag diagnostic.
  • Preserve exact URI bytes as identity; downstream consumers interpret the scheme.
  • Example: resource "work" uri="worktree://dev3/srv/project" relation="used" reason="Current checkout."
  • Rejected example: resource "work" _tag="worktree" ....

Verification

  • GitHub Nix check: green on exact head 1be318b5d884778bac4dabba97e45558edc4931c
  • nix develop -c cargo check --workspace
  • nix develop -c cargo test --workspace --no-run
  • focused discovery, validate, status-agents, and reconcile tests: 141 passed
  • git diff --check

Complexity

Reduces complexity by removing a field and its compatibility paths; no new abstraction or dependency.

Concerns

Breaking syntax change. Consumers must migrate before adopting this st2 revision.

Friction & bottlenecks

No persistent tooling friction or measured bottleneck found in this repository.

Follow-ups

Coordinated consumers are covered by compoundingtech/evals#77 and schickling/dotfiles#1705.

References

Closes #256.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@schickling
schickling merged commit f177520 into main Aug 17, 2026
1 check passed
@schickling schickling added area:agent-spec Agent Spec format, parsing, and the agent-spec crate · Set: manual area:resource Typed Resource bindings and linked records · Set: manual type:chore Maintenance, cleanup, dependencies, CI, or refactoring · Set: manual labels Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:agent-spec Agent Spec format, parsing, and the agent-spec crate · Set: manual area:resource Typed Resource bindings and linked records · Set: manual type:chore Maintenance, cleanup, dependencies, CI, or refactoring · Set: manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider dropping the Resource binding _tag: the URI scheme already carries the type in 96.9% of live bindings

1 participant