Skip to content

Enforce the WRAC plugin layout contract - #148

Merged
satoshi-szk merged 2 commits into
novonotes:novonotes-internalfrom
satoshi-assistant:codex/enforce-plugin-layout-v2
Jul 15, 2026
Merged

Enforce the WRAC plugin layout contract#148
satoshi-szk merged 2 commits into
novonotes:novonotes-internalfrom
satoshi-assistant:codex/enforce-plugin-layout-v2

Conversation

@satoshi-assistant

@satoshi-assistant satoshi-assistant commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

What changed

  • Identify WRAC plugins only from workspace members at <plugin-root>/src-plugin/Cargo.toml.
  • Require wrac-plugin.toml at <plugin-root>/src-plugin/wrac-plugin.toml and reject manifests at the plugin root or other source directories.
  • Remove the plugin-root manifest fallback from wrac_manifest::discover_manifest.
  • Validate the layout during cargo xtask quality so CI reports violations explicitly.
  • Document the layout contract concisely in the setup guides.

Why

Manifest-based discovery silently skipped missing manifests and accepted a legacy plugin-root location. A fixed structural marker makes ordinary Cargo packages remain outside WRAC discovery while turning invalid WRAC plugin layouts into actionable errors.

Validation

  • cargo test -p wrac_manifest -p wrac_build_ops
  • cargo test -p wrac_build_ops context::tests
  • cargo xtask quality
  • cargo check --workspace --all-targets
  • git diff --check

Identify plugins from src-plugin/Cargo.toml so missing or misplaced WRAC manifests fail explicitly in xtask and CI instead of being skipped or accepted through a fallback.
Keep the layout contract only where plugin authors configure a project, with one essential line per setup guide and no duplicate schema-reference text.
@satoshi-szk
satoshi-szk marked this pull request as ready for review July 15, 2026 12:09
@satoshi-szk
satoshi-szk merged commit 49b8ed5 into novonotes:novonotes-internal Jul 15, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants