Phase 0: bootstrap repository and freeze public contracts #1
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/cl-discord-self#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source
Implements Phase 0 of
STAR-DISCORD-001 cl-discord-self Runtime Architectureand the approved reusable-library boundary fromSTAR-RESEARCH-006.Goal
Create the smallest reviewable repository skeleton that freezes the public package, native ABI, fixture, and compatibility contracts before any live network implementation exists.
Scope
AGENTS.mdwith the issue-driven Forge LoopLICENSE,NOTICE, andPORTING.orgflake.nixwith pinned SBCL/toolchain inputscl-discord-self.asdnative/include/cldiscordcurl.hwith ABI version 1, opaque handles, lifecycle, HTTP, WebSocket, poll, memory-ownership, and stable error contractsConstraints
Exit gate
Ensure a solid flake.nix bootstrap. starting this now will make your work eaiser
Claiming the first Issue-Driven Agentic Development slice on
codex/issue-1-phase-0-contracts-a1.Initial slice:
Validation plan:
The root
AGENTS.mdbootstrap was committed directly tomainas commitd5fac6f33c0d91178c84adf531bca9b7826e9f92because the repository was empty and had no base commit from which an issue branch could be created.Phase 0 first pass is now in draft PR #12: https://github.com/lost-rob0t/cl-discord-self/pull/12
Current status:
nix flake checkremain unrun because this execution environment has neither SBCL nor Nix.The PR remains draft and unmerged pending those checks and independent ABI review.
nix flake checkexposed an SBCL portability bug in the Phase 0 scaffold.Cause:
src/core.lispusedDEFCONSTANTwith a string value. Common Lisp only permits redefining a constant with anEQLvalue; separately loaded string literals are not guaranteed to beEQL, and SBCL rejects the compile/load redefinition during ASDF loading.Fix pushed to
codex/issue-1-phase-0-contracts-a1asd8443a0a56bf5fa8fa6336437441b68687176450: use a documentedDEFPARAMETERfor the public version string.Please rerun:
If another derivation fails, capture it with:
Owner-authorized Phase 0 scope extension for this branch: add the first GitHub Actions CI workflow so the already-defined deterministic Nix checks run automatically on pull requests and
main.This remains part of Issue #1 because it enforces the existing exit gate; release publication is tracked separately in #13 and is blocked on Profile A (#8).
CI acceptance checks:
contents: readpermissions;flake.lockis not updated during CI;nix flake check -L --no-update-lock-fileruns onubuntu-24.04;