Thanks to visit codestin.com
Credit goes to github.com

Skip to content

docs: add emoji headings to README#26

Closed
retr0h wants to merge 13 commits intomainfrom
docs/standardize-readme-headings
Closed

docs: add emoji headings to README#26
retr0h wants to merge 13 commits intomainfrom
docs/standardize-readme-headings

Conversation

@retr0h
Copy link
Collaborator

@retr0h retr0h commented Mar 3, 2026

Summary

  • Add emoji headings to README.md to match the standardized pattern across all osapi-io repos

Test plan

  • Verify README renders correctly on GitHub

🤖 Generated with Claude Code

retr0h and others added 13 commits March 1, 2026 22:19
Previously the runner only stored a Result for successfully completed
tasks. Skipped and failed tasks had no entry in the results map, which
prevented guards from inspecting their status. Now every code path
(dep-failed skip, OnlyIfChanged skip, guard-false skip, failure, and
success) stores a Result with the appropriate Status field set.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
Add HostResult struct for per-host responses in broadcast operations
and a HostResults slice field to Result. This enables downstream
tasks and guards to inspect individual host outcomes.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
Add IsBroadcastTarget helper to detect broadcast/label targets,
extractHostResults to parse per-agent results from collection
responses, and isCommandOp to identify command operations. Update
executeOp to populate HostResults for broadcast targets and fail
on non-zero exit codes for command operations.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
Add inter-task data access mechanism: TaskFnWithResults lets a task
closure receive the results map from prior tasks, enabling data flow
between dependent tasks. Add Data field to TaskResult so post-execution
result inspection can access task output data.

- Add TaskFnWithResults type and fnr field on Task
- Add NewTaskFuncWithResults constructor
- Update IsFunc() to account for fnr
- Add Data map[string]any field to TaskResult
- Update runner to handle fnr execution with lock-protected results
- Populate Data on TaskResult in success path
- Add TaskFuncWithResults method on Plan
- Fix Explain() to use IsFunc() for fnr task detection

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
Add TaskFuncWithResults, Result types (Status, HostResult, Data on
TaskResult), and broadcast results to docs. Update example to use
TaskFuncWithResults with Results access and show Data on TaskResult.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Rewrite examples/all to showcase low-level SDK patterns:
TaskFuncWithResults reading data from prior tasks, Status
inspection in When guards, alert-on-failure triggered by
StatusFailed, and Data extraction in post-run reporting.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Tasks with a When guard were being auto-skipped when a dependency
failed, preventing failure-triggered patterns like alert-on-failure.
Now tasks with guards bypass the dependency-failed skip and let the
guard decide whether to run. Also print all Data keys in the example
instead of only stdout/hostname.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
The runner extracted the changed boolean from the API response data
but left it in the Data map, causing it to appear alongside real
fields in result output. Also switch example detailed results to
JSON formatting for readability.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Propagate HostResults from Result to TaskResult so AfterTask hooks
can display per-host data for broadcast operations. Add SetName
method to Task for renaming after creation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Add WhenWithReason method to Task that allows setting a custom reason
string shown when a guard returns false, improving skip hook output.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
Cover SetName and WhenWithReason with table-driven unit tests and
an integration test verifying custom skip reasons flow through OnSkip.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
Align README section headings with the standardized emoji
pattern used across all osapi-io repositories.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
@github-actions
Copy link

github-actions bot commented Mar 3, 2026

Thank you for contributing to this project! 😊🕹️

@retr0h
Copy link
Collaborator Author

retr0h commented Mar 3, 2026

Duplicate of #24. This branch was based off the stale feature branch instead of main.

@retr0h retr0h closed this Mar 3, 2026
@codecov
Copy link

codecov bot commented Mar 3, 2026

Codecov Report

❌ Patch coverage is 89.79592% with 10 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
pkg/orchestrator/runner.go 87.65% 7 Missing and 3 partials ⚠️

❌ Your patch status has failed because the patch coverage (89.79%) is below the target coverage (100.00%). You can increase the patch coverage or adjust the target coverage.

Impacted file tree graph

@@             Coverage Diff             @@
##              main      #26      +/-   ##
===========================================
- Coverage   100.00%   98.51%   -1.49%     
===========================================
  Files           13       13              
  Lines          601      674      +73     
===========================================
+ Hits           601      664      +63     
- Misses           0        7       +7     
- Partials         0        3       +3     
Files with missing lines Coverage Δ
pkg/orchestrator/plan.go 100.00% <100.00%> (ø)
pkg/orchestrator/result.go 100.00% <ø> (ø)
pkg/orchestrator/task.go 100.00% <100.00%> (ø)
pkg/orchestrator/runner.go 96.89% <87.65%> (-3.11%) ⬇️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9e8671e...e58fc50. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant