Skip to content

refactor: developer tooling, bug fixes, and agent skills#38

Open
tombensim wants to merge 1 commit into
shaulams:mainfrom
tombensim:refactor/open-source-readiness
Open

refactor: developer tooling, bug fixes, and agent skills#38
tombensim wants to merge 1 commit into
shaulams:mainfrom
tombensim:refactor/open-source-readiness

Conversation

@tombensim
Copy link
Copy Markdown

Summary

  • Developer tooling: Makefile, pyproject.toml (ruff + pytest), requirements-dev.txt, .pre-commit-config.yaml, CI lint job with pip caching — contributors can now make setup && make test && make lint on day one
  • Bug fixes: Assembly order now persists across save/load/duplicate (was lost); trim updates now sync back to in-memory state (was stale)
  • Agent skills: 6 skills installed for Claude Code, Codex, Cursor, and other AI agents (flask, pytest, security-auditor, openai-whisper-api, code-review, run-tests)
  • Code quality: 36 ruff lint issues fixed (unused imports, bare excepts, formatting), 5 new tests added (52 → 57)

Bug fixes detail

High — Assembly order not persisted:

  • Backend /assemble now saves assembly_order to state["assembly"]
  • New GET/POST /assembly_order endpoints for direct access
  • Frontend restores assemblyOrder from state.assembly on page load
  • renderTimeline() syncs state.assembly on every mutation

Medium — Trim state desync:

  • adjustTrim() now assigns fetched state to global state instead of local variable

Test plan

  • make lint passes (ruff check + format)
  • make test passes — 57/57 tests green
  • E2E API smoke test — all 6 endpoints respond correctly
  • Manual test: upload → transcribe → mark clips → trim → cut → assemble → save → load → verify assembly order persists
  • Manual test: trim clip → verify state reflects new values in subsequent renders

🤖 Generated with Claude Code

…rce readiness

Add developer tooling: Makefile (setup/run/test/lint/format), pyproject.toml
(ruff + pytest config), requirements-dev.txt, .pre-commit-config.yaml, and
CI lint job with pip caching. Run ruff format across the codebase, fix 36
lint issues including bare excepts, unused imports/variables, and import
ordering.

Fix two bugs found during manual testing:
- Assembly order was not persisted — backend now saves assembly_order to
  state in /assemble, new GET/POST /assembly_order endpoints added, and
  frontend restores assemblyOrder from state on page load
- Trim updates did not sync back to in-memory state — adjustTrim() now
  assigns fetched state to global variable instead of a local

Add 5 new tests (52 → 57) covering assembly order persistence and trim
state consistency. Install 6 agent skills for contributors using Claude
Code, Codex, Cursor, and other agents: flask, pytest, security-auditor,
openai-whisper-api, requesting-code-review, and run-tests.

Update CLAUDE.md with project structure, dev rules, and skills section.
Update CONTRIBUTING.md with make commands, linting docs, and pre-commit
instructions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant