Skip to content

Releases: Noah-TaeHwan/loopuccino

v0.10.0 — 첫 PyPI 발행 (패키지 인덱스 최초 공개)

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 06 Aug 09:34
2decdee

변경 내용 (패키징 전용, 기능/동작 변경 없음)

  • 첫 PyPI 발행: loopuccino가 Python Package Index에 공식 게시되었습니다 (pipx install loopuccino / uv tool install loopuccino).
  • 패키지 메타데이터 강화: SPDX 라이선스(MIT)·license-files, Python 3.9–3.13 classifier, project URLs(Homepage/Source).
  • Trusted Publishing 워크플로 추가 (.github/workflows/publish.yml): v* 태그 push 시 OIDC 기반 자동 발행 + digital attestations.
  • README 설치 경로·배지 갱신, CHANGELOG 0.10.0 기록.

검증 (실측)

참고: Agent Skill 설치는 여전히 체크아웃 기반(loopuccino install)입니다.

v0.9.1 — 알려진 이슈 수정 + status 제어문자 세정(보안 하드닝)

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 06 Aug 04:29
c778461

전체 보안 감사 결과 확정 취약점 0건을 확인했고, 감사 중 드러난 하드닝 1건과 이전에 분석해 둔 알려진 이슈 4건을 정리한 패치 릴리스다.

Fixed

  • 상태 전이: in_progress/blocked의 제자리 갱신을 허용한다. durable 루프는 여러 라운드 동안 in_progress에 머물고 카드는 living handoff이므로 same-state 진척 갱신은 STATE-002 위반이 아니다. 체크포인트 상태(ready_for_review·verified·handed_off·closed)는 여전히 제자리 재선언을 금지한다.
  • hermes install: install --platform hermes --force가 심링크 타깃에서 크래시하지 않는다. shutil.rmtree가 최상위 심링크에서 OSError를 던지므로, 심링크는 unlink 후 복사하고 실디렉터리만 rmtree한다.
  • privacy-lint: 유출 게이트를 git-tracked 파일로 한정한다. untracked·git-ignored 스크래치 파일로 로컬 스위트만 붉어지던 오탐을 없앤다(git 없는 sdist에서만 트리 순회 폴백).

Security

  • loopuccino status: loop 로그와 계약 카드의 터미널 제어문자(C0/C1·CR·ESC)를 출력 전에 제거한다. 두 파일은 다른 에이전트가 쓰므로 신뢰 불가 문자열이 사람의 터미널에 이스케이프 시퀀스를 내보내지 못하게 한다.

Tests

  • 위 네 항목 회귀 커버리지 + 배포 스크립트 validate_source_review.py의 첫 테스트(종결 스키마·영수증 일관성 판정).

검증: pytest 128 passed (Python 3.9–3.13 CI green), uv build 성공.

Full Changelog: v0.9.0...v0.9.1

v0.9.0 — loopuccino update: drift diagnosis and self-update for checkout installs

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 06 Aug 03:41
aaedbc8

Added

  • loopuccino update: reports drift between the installed CLI, the checkout, the latest GitHub release, and the skill wiring; --apply pulls the checkout, reinstalls the CLI, and re-verifies with the new binary. The GitHub check degrades gracefully offline, wiring-only findings prescribe loopuccino install commands instead of a misleading --apply hint, and update is documented as the only command that uses the network, Git, or a shell.

Changed

  • Execution tier polish from the 0.8.0 release review: the harness adapter clarifies that the coordinator's declared tier constrains which session runs the loop; a verifier is declared as its own named worker group; the card template's durable note clearly replaces both role lines; and the template pin test asserts the tier slot tokens.

Full Changelog: v0.8.0...v0.9.0

v0.8.0 — execution tier: capability/effort declarations for loops and workers

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 06 Aug 01:18
32c5a89

Added

  • Execution tier: the contract card declares which capability tier and effort run the loop — per role for orchestrated work — filled by a grounded recommendation and confirmed with the card's single approval. The vocabulary is model-neutral (deep/standard/light by effort); harness adapters map tiers to real knobs, and dispatch briefs carry the declared worker tier.
  • A sixth interview question choosing the loop's execution tier from the recommendation and presets.

Full Changelog: v0.7.0...v0.8.0

v0.7.0 — retrospectives, role-based events, dispatch contracts

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 05 Aug 22:44
faf89a8

Highlights

  • Retrospectives: the loop distills what it learned into instructions that change the next dispatch — triggered at stalls, milestones, and termination, never on a clock. Lessons are capped, cite external evidence (an oracle result, a measurement, a user correction — ungrounded self-reflection is counter-evidenced), accumulate in loop-lessons.md, and are promoted into the card's rules once confirmed twice.
  • Role-based events: coordinators record dispatches, collections, and decisions in the loop log; workers record start, issue, and terminal receipts. An event a role does not write is work the record surfaces never saw.
  • Dispatch and report contracts: briefs name objective, output format, tools, and boundary; worker reports pair machine answers with narrative reasons so the coordinator's decisions branch on parsable fields.

Full changelog: CHANGELOG.md

v0.6.0 — progress reporting, loop log, status command

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 05 Aug 13:00
e7c25af

Highlights

  • Progress and reporting rules: loops report at round and state-transition boundaries, never on a clock — no surveyed harness reports on a fixed time interval. The loop announces once where to look, and progress is checked by reading the executor's trail (files, receipts, commit history), never by interrupting the executor.
  • The loop log: durable and orchestrated loops keep an append-only loop-log.jsonl beside the contract card — one JSON event per line, recording structure rather than content, with a machine status paired with a narrative reason per event.
  • loopuccino status <card-file>: prints the loop's state, latest events, and next action from the card and the loop log.
  • Research basis: observability — OpenTelemetry GenAI agent spans, Langfuse's data model, community loop harnesses, and Anthropic's context-engineering guidance, each verified live.

Full changelog: CHANGELOG.md

v0.5.0 — decision split, interview legibility

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 05 Aug 11:54
d7a32f2

Highlights

  • Decision split: the contract card's authority section now names the decision classes that return to the user — outcome or scope changes, authority changes, irreversible or externally visible acts, acceptance-evidence changes — and delegates the rest. The loop makes editorial, formatting, operational, and sequencing calls itself and records them in the card with their grounds. A loop that returns delegated decisions to the user has stopped being a loop.
  • Interview legibility, hardened from field testing: options are written in the user's vocabulary behind a plain-language summary, and concrete artifact choices present before/after excerpts — a described change is invisible; a shown change is decidable.

Full changelog: CHANGELOG.md

v0.4.0 — contract card, interview mode, ledger patterns, research basis

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 05 Aug 10:12
b5a5b90

Highlights

  • Contract card + approval gate: durable/orchestrated work presents a contract card (mode, contract slots, Assumptions) and waits for one approval per contract; the saved card is a handoff-compatible file that loopuccino check --contract validates. Micro work stays friction-free.
  • Opt-in interview mode: a fixed five-question skeleton fills the card with the user's answers — offered once when core slots would rest on assumptions.
  • Ledger patterns: six field-tested record-surface patterns with a minimal adoption ladder, for work that outlives a session.
  • Research basis: the public research behind the method, and what was rejected on evidence.

Full changelog: CHANGELOG.md

v0.3.0 — Agent Skill + cross-agent install

Choose a tag to compare

@Noah-TaeHwan Noah-TaeHwan released this 05 Aug 06:00
c2f4952

Highlights

  • loopuccino is now an Agent Skill (skills/loopuccino/): the loop-engineering method — scale-adaptive modes, execution contract, evidence-led loop, fresh-eyes challenge, truthful stopping — with bilingual (English/Korean) triggers.
  • Claude Code harness reference: judge-binding clauses for /goal, the checker-first rule, self-paced /loop guidance, unattended write-access ritual, and field-tested worker dispatch traps, plus thin goal/loop templates.
  • loopuccino install --platform {claude,codex,agents,hermes}: wires the skill into per-agent skill directories — check-only by default, --apply to perform, symlinks for claude/codex/agents, a copy for hermes.
  • Repository-wide privacy lint in the test suite.
  • Opt-in CONTRACT-* checks and loopuccino init (from 0.2.0) are included in this release line.

Full changelog: CHANGELOG.md