Claudio Ortolina
6a3e9695db
ML-184: add Presto smoke test harness
...
Add a headless smoke-test harness for the Presto microPython app using
pimoroni-emulator mock modules. A PRESTO_TEST_MODE=1 guard prevents
main() from running at import time so draw functions can be called
directly from tests.
- presto/main.py: wrap main() with PRESTO_TEST_MODE guard
- presto/tests/: conftest with emulator fixtures, 7 smoke tests
- presto/mise.toml: add [tasks.test]
- presto/README.md, presto/AGENTS.md: add Testing section
- .gitignore: exclude test __pycache__, pytest_cache, fixture pngs
2026-05-15 10:53:08 +01:00
Claudio Ortolina
2d451d2807
[presto] ignore emulator cache files
2026-05-15 07:26:17 +01:00
Claudio Ortolina
a88c704fe5
ML-175: parse bash commands structurally via unbash
...
Replace regex-based command blocking with structural AST parsing
using unbash (zero-dependency TypeScript bash parser). The walker
collects command names only from executable positions (simple
commands, pipelines, subshells, command substitutions, control-flow
bodies), excluding arguments, comments, and quoted strings.
- Convert to directory-style extension with pinned unbash@3.0.0
- Add AST walker (ast.ts) covering 15 shell construct types
- Update blocked_commands to plain names instead of regexes
- Keep regex fallback for parse failures (degradation path)
- Path-based blocking unchanged for non-bash tools
- 41 tests cover blocked/allowed cases including false positives
2026-05-11 17:42:48 +01:00
Claudio Ortolina
9d0ab1ffc6
ML-166: First working implementation
2026-05-05 16:34:09 +01:00
Claudio Ortolina
179ac35130
Add pi extension to browse database backups
2026-05-01 22:23:44 +01:00
Claudio Ortolina
933f04bb25
Add .mcp.json to version control
2026-04-30 23:00:20 +01:00
Claudio Ortolina
8631b97b4d
Add joinphrase to Release.Artist; parse from MB
2026-04-23 07:42:06 +01:00
Claudio Ortolina
e75fb93694
Ignore superpowers working folder
2026-04-22 13:37:18 +01:00
Claudio Ortolina
d0d9c4ea75
Ignore some Claude working directories
2026-04-17 08:11:48 +01:00
Claudio Ortolina
0339f7f11b
EXP: add task to manage worktrees
2026-04-03 11:41:37 +01:00
Claudio Ortolina
cf95d6e89b
Update .dockerignore and .gitignore
2026-03-13 11:49:53 +00:00
Claudio Ortolina
6aa1c502a5
Ignore expert artifacts
2026-03-05 06:44:01 +00:00
Copilot
2faddbf0c6
Add audit tooling for scrobbled tracks data quality ( #89 )
2026-02-17 11:24:45 +00:00
Claudio Ortolina
7edc05d205
Move configuration to Mise
2025-02-17 18:05:41 +00:00
Claudio Ortolina
edaab25104
Setup mise config with boilerplate env variables
2025-02-17 17:56:26 +00:00
Claudio Ortolina
e363328c12
Ignore Lexical build folder
2024-12-19 19:04:34 +00:00
Claudio Ortolina
18ae8b7866
Refactor last_fm configuration
...
Move all configuration outside of the LastFm module, so that it's not
polluted with references to the parent music_library application.
2024-11-06 12:09:38 +00:00
Claudio Ortolina
1abcc5e6ad
Add LastFm feed for a given user
2024-11-04 09:17:01 +00:00
Claudio Ortolina
94ca2ab625
Move databases into /data
2024-10-07 08:12:05 +01:00
Claudio Ortolina
d547ee6f8d
Generate project
...
Using `mix phx.new music_library --database sqlite3 --binary-id --no-mailer`
2024-09-12 14:05:08 +01:00