Skip to content

fix(plugins): clean up on build hook failure + spec/doc updates#375

Merged
0xLeif merged 6 commits intomainfrom
chat/corvidagent/6ecaeaf1-471
May 7, 2026
Merged

fix(plugins): clean up on build hook failure + spec/doc updates#375
0xLeif merged 6 commits intomainfrom
chat/corvidagent/6ecaeaf1-471

Conversation

@corvid-agent
Copy link
Copy Markdown
Collaborator

@corvid-agent corvid-agent commented May 7, 2026

Summary

  • Bug fix: When a plugin build hook fails during fledge plugins install, the cloned directory is now cleaned up instead of being left on disk (fixes Failed plugin build hook leaves stale install stateΒ #371)
  • Plugin spec (v27): Separated public API (7 pub exports) from internal functions (pub(crate)/pub(super)), added visibility and source file columns
  • Work spec (v13): Updated deprecated work pr message to match actual output referencing fledge github prs create
  • CLI reference: Added fledge plugins audit usage examples and fledge work pr deprecation note
  • Getting started: Expanded stub landing page with links to subsections

Closes #371

Test plan

  • Install a plugin with a failing build hook β†’ verify directory is cleaned up and retry works without --force
  • Run fledge spec check β†’ 30 specs, 0 errors
  • Review plugin spec exported functions table matches actual pub visibility
  • Verify docs render correctly via mdBook

πŸ€– Generated with Claude Code

corvid-agent and others added 3 commits May 6, 2026 15:46
Adds a built-in template that creates a complete fledge plugin repository
matching the layout of existing official plugins (roast, etc). Includes
plugin.toml, shell command stub, CI workflows, GitHub Pages docs site,
README, and LICENSE β€” all parameterized via Tera prompts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The bin stub is now explicitly a starter placeholder β€” the comment and
README make clear the binary can be replaced with any language. CI smoke
test runs --help on all executables regardless of shebang, ShellCheck
only runs when bash scripts are present.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When a plugin's build hook failed during install, the cloned plugin
directory was left on disk without a registry entry. Subsequent installs
saw the directory and rejected with "already installed" while plugins
list showed nothing β€” leaving users stuck without --force.

Closes #371

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@corvid-agent corvid-agent requested a review from a team as a code owner May 7, 2026 23:18
corvid-agent and others added 2 commits May 7, 2026 16:20
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Plugin spec: separate public API (7 exports) from internal functions
  (pub(crate)/pub(super)), add visibility column and source file info
- Work spec: update deprecated `work pr` message to match actual output
  which references `fledge github prs create` before `gh pr create`
- CLI reference: add `fledge plugins audit` usage examples
- CLI reference: add deprecation note for `fledge work pr`
- Getting started: expand stub page with links to subsections

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@corvid-agent corvid-agent changed the title fix(plugins): clean up plugin directory when build hook fails fix(plugins): clean up on build hook failure + spec/doc updates May 7, 2026
github-actions[bot]
github-actions Bot previously approved these changes May 7, 2026
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

βœ… Corvin says...

      _
    <(^\  .oO(Caw! ^v^)
     |/(\
      \(\\
      " "\\

"Caw! Your code sparkles like a dropped french fry."

CI Summary

Check Status
Dependency Audit βœ… Passed
Integration (3 OS) βœ… Passed
Lint (fmt + clippy) βœ… Passed
Spec Validation βœ… Passed
Tests (3 OS) βœ… Passed

Powered by corvid-pet

@corvid-agent
Copy link
Copy Markdown
Collaborator Author

πŸ‘‹ CorvidAgent is looking into this.

@corvid-agent
Copy link
Copy Markdown
Collaborator Author

CI all green β€” thanks Corvin. Ready for human review/merge.

…ns table

The spec checker requires all pub(crate) exports to be listed in the
Exported Functions section. Keep the visibility column to distinguish
pub from pub(crate), but use a single table so strict mode passes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ Corvin says...

      _
    <(;\  .oO(oh no...)
     |/(\
      \(\\
      " "\\

"I'm pecking through the errors..."

CI Summary

Check Status
Dependency Audit βœ… Passed
Integration (3 OS) βœ… Passed
Lint (fmt + clippy) βœ… Passed
Spec Validation ❌ failure
Tests (3 OS) βœ… Passed

Powered by corvid-pet

@corvid-agent
Copy link
Copy Markdown
Collaborator Author

πŸ‘‹ CorvidAgent is looking into this.

@corvid-agent
Copy link
Copy Markdown
Collaborator Author

Spec validation failure was caused by commit 1d8eaa4 which moved pub(crate) exports out of the Exported Functions table β€” spec-sync requires all exports (including pub(crate)) in that section.

Fixed in 89b35bc β€” moved them back into a single table with a visibility column to distinguish pub from pub(crate).

CI status on the fix commit:

  • βœ… Lint, spec-check, audit, tests (3 OS) β€” all green
  • ⏳ Integration tests (3 OS) β€” still running

Should be fully green shortly.

@0xLeif 0xLeif merged commit 11cac9a into main May 7, 2026
11 checks passed
@0xLeif 0xLeif deleted the chat/corvidagent/6ecaeaf1-471 branch May 7, 2026 23:42
@corvid-agent
Copy link
Copy Markdown
Collaborator Author

πŸ‘‹ CorvidAgent is looking into this.

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

βœ… Corvin says...

      _
    <(^\  .oO(Caw! ^v^)
     |/(\
      \(\\
      " "\\

"Looking sharp! Like a beak should be."

CI Summary

Check Status
Dependency Audit βœ… Passed
Integration (3 OS) βœ… Passed
Lint (fmt + clippy) βœ… Passed
Spec Validation βœ… Passed
Tests (3 OS) βœ… Passed

Powered by corvid-pet

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.

Failed plugin build hook leaves stale install state

2 participants