piker/ai
Gud Boi 5eb4fc9d8a Fix IB fill accounting by execution identity
Keep each commission callback's exact `Fill` paired with its
report, so overlapping executions on one contract cannot borrow
each other's fees. Cache positions by account and `conId`, queue
commissioned fills by execution ID until a position arrives, and
accept zero commissions. Reject mismatched execution/report IDs.

Keep `Execution.execId` authoritative when flattening ledger
entries; an empty commission ID must not erase a valid fill. Add
regressions for empty commission IDs, reversed fee arrival, and
positions arriving before or after overlapping executions.

The human live-tested fills and reports the accounting fix works.
Exact-boundary automated checks remain pending; the earlier nine
passes covered the mixed working tree. Included Prompt-IO logs
retain whole-session context, including separate roaming work.

Prompt-IO: ai/prompt-io/opencode/20260916T194052Z_749ca1f0_prompt_io.md

(this patch was generated in some part by `opencode` using
`gpt-6-astra` (`openai`))
2026-09-16 17:12:01 -04:00
..
claude-code Add `piker-clearing-expert` skill 2026-08-27 23:24:54 -04:00
opencode Add `piker-clearing-expert` skill 2026-08-27 23:24:54 -04:00
prompt-io Fix IB fill accounting by execution identity 2026-09-16 17:12:01 -04:00
README.md Add `piker-clearing-expert` skill 2026-08-27 23:24:54 -04:00

README.md

AI Tooling Integrations

Documentation and usage guides for AI-assisted development tools integrated with this repo.

Each subdirectory corresponds to a specific AI tool or frontend and contains usage docs for the custom skills/prompts/workflows configured for it.

Originally introduced in PR #69; track new integration ideas and proposals in issue #79.

Integrations

Tool Directory Status
Claude Code claude-code/ active
OpenCode opencode/ active

Shared Skills

Provider-neutral skill bundles should use the portable Agent Skills subset and live under .agents/skills/ as their single source. OpenCode discovers that project directory natively. Relative links in provider directories such as .claude/skills/ may bridge clients which do not yet scan .agents/skills/; never copy the skill body.

Existing repo skills under .claude/skills/ predate this convention and can migrate separately without coupling their history to new skills.

Harness-specific command files should only delegate to a shared skill. They must not duplicate the skill body.

Adding a New Integration

Create a subdirectory named after the tool (use lowercase + hyphens), then add:

  1. A README.md covering setup, available skills/commands, and usage examples
  2. Any tool-specific config or prompt files
ai/
├── README.md                  # <- you are here
├── claude-code/
│   └── README.md
├── opencode/
│   └── README.md
└── <your-tool>/
    └── README.md

Conventions

  • Skill/command names use hyphen-case (commit-msg, not commit_msg)
  • Each integration doc should describe what the skill does, how to invoke it, and any output artifacts it produces
  • Keep docs concise; link to the shared skill source files rather than duplicating content
  • Keep skill bodies harness-neutral; isolate slash-command syntax and permissions in each harness integration