Project

On this page

Pocket 0.2#

Historical notes. The names and commands below are the ones version 0.2 used. Track Map is now Peek, Set Map is now Thread and Transition Lab is now Stitch. The old commands still work as aliases; see name changes.

Version 0.2 was a development milestone. It is not a published package. It made three things dependable: native trials, bounded timestamp queries with exact source-frame handoff, and explicit rhythm uncertainty. It also added feedback lookup, so a listener's correction can be reused without broadening its meaning.

New behavior#

  • Typed MCP inputs support actual trial creation, native preparation, relocation validation, render attachment and feedback calls.
  • Native preparation collects supported active audio and Max files. File lineage and reference rewrites are sealed alongside the declared media-only edit. Silent expected-music exports, near silence, non-finite samples and sample overload remain preserved diagnostic artifacts, but are not ready to compare.
  • A compact project summary returns a reusable immutable handle. Clip discovery, timestamp queries and full-map export validate the current project and dependency versions before using it. Query budgets disclose omissions and pagination.
  • Valid source intervals supply exact integer frame arguments. Track Map accepts them directly, eliminating decimal-seconds round trips. File-boundary rounding has an explicit 0.1-sample tolerance and never legitimizes a genuinely out-of-file crop.
  • Track Map reports independent acoustic-phase alternatives, sensitivity to overlapping crops and local phase/count continuity warnings. Agreement between crop fits is explicitly scoped to their tested midpoints; boundary drift is not checked. A steady tempo does not hide these failures; musical beat one and integer counts remain unresolved.
  • Feedback retrieval is bound to the sealed output, original local frame interval and scope. Conflicting listener claims remain separate records.

Compatibility#

  • CLI set-map and MCP inspect_set now return a summary and handle. For the previous full inventory, use CLI set-map --full, map-export, MCP export_set_map, or the unchanged library pocket_music.set_map.inspect_set.
  • MCP summary/query/export tools return one compact JSON text record. Parse its text as JSON; there is no duplicated structuredContent for those four tools. Other tools retain their provider-record behavior.
  • Native manifests use pocket.native-trial/v2. The new validator/attachment path does not accept historical v1 candidates. Preserve them and prepare a new v2 trial; do not rewrite old evidence in place.
  • Existing seconds-based Track Map calls remain valid. The optional start_frame/frames pair is keyword-only and requires the default seconds arguments. The CLI equivalents are --start-frame and --frames. Track Map's v1 report gains additive fields and records analysis version 1.1.2.
  • typing_extensions is now a core dependency for portable nested input schemas. Python 3.11 remains the minimum.

Validation and limits#

Before this milestone was marked complete, native relocation and export, compact queries, exact frame handoffs and paired rhythm checks were each exercised on real material. The public tests generate their own media. Recordings, machine paths and listening notes stay with the people who made them.

Native observation fields are attributed operator reports, not independent Live telemetry. The adapter still supports a narrow audio-only shift with controls fixed, not general MIDI or tempo editing. Hidden Max dependencies and arbitrary native Save As equivalence remain outside scope. Re-preparing from a relocated source with stale absolute references requires deliberate relinking. Whole-excerpt RMS and sample peaks are technical gates, not loudness or perceptual quality judgments.

This milestone stopped deliberately before a review player, broader editing or new transcription and model providers. Later milestones added the practice review page, MIDI and sound tools and optional model adapters.

Improve this page on GitHub