Files
ffx/SCRATCHPAD.md
2026-04-13 20:04:25 +02:00

4.3 KiB

Scratchpad

Goal

  • Capture a compact, project-wide list of optimization candidates after a broad scan of the current FFX codebase, tooling, and requirements.

Focused Snapshot

  • Highest-leverage application optimizations:

    • Decide whether placeholder help/settings screens should ship or disappear.
    • Trim dead helpers and other dormant surface that still looks active.
  • Highest-leverage repo and workflow optimizations:

    • Continue migrating the oversized legacy test/combinator surface into focused modern tests so it is easier to run, debug, and extend.

Optimization Candidates

  1. Placeholder UI surfaces should either ship or disappear
  • src/ffx/help_screen.py and src/ffx/settings_screen.py are placeholders.
  • Optimization:
    • Either remove them from the active UI surface or complete them.
    • Avoid paying ongoing maintenance cost for unfinished navigation targets.
  • Expected value:
    • Leaner interface.
    • Lower UX ambiguity.
  1. Several helper functions are unfinished or dead-weight
  • src/ffx/helper.py contains permutateList(...): pass.
  • There are many combinator and conversion placeholders across tests and migrations.
  • Optimization:
    • Remove dead code, finish it, or isolate it behind a clearly dormant area.
    • Avoid carrying stubbed utility surface that looks reusable but is not.
  • Expected value:
    • Smaller mental model.
    • Less time spent re-evaluating inactive paths.
  1. Test suite shape is expensive to understand and likely expensive to run
  • The project still carries a large legacy matrix of combinator files under tests/legacy, several placeholder pass implementations, and at least one suspicious filename with an embedded space: [tests/legacy/disposition_combinator_2_3 .py](/home/osgw/.local/src/codex/ffx/tests/legacy/disposition_combinator_2_3 .py).
  • A first focused replacement slice now exists in tests/integration/subtrack_mapping/test_cli_bundle.py, so the remaining work is migration and consolidation rather than creating the modern test shape from scratch.
  • Optimization:
    • Continue replacing broad combinator matrices with focused parametrized integration and unit tests.
    • Retire the bespoke legacy discovery and runner path once equivalent coverage exists.
    • Normalize file naming and test discovery conventions.
  • Expected value:
    • Faster contributor onboarding.
    • Easier CI adoption later.

Open

  • Durable shipped items have been moved into README.md version history through 0.2.6.
  • Should optimization work focus first on operator-perceived latency, internal maintainability, or correctness-risk cleanup that also has performance upside?
  • Is the long-term supported model still “local Linux workstation plus Textual UI,” or should optimization decisions bias toward a more scriptable/headless CLI?

Gaps Right Now

  • No explicit prioritization owner or milestone for the optimization backlog.
  • No benchmark or timing harness exists for startup, probe, DB, or conversion orchestration overhead.
  • Repo hygiene is still mixed with generated artifacts and some clearly unfinished files.
  • The legacy TMDB-backed Scenario 4 path is currently blocked by a pattern/track regression: Patterns must define at least one track before they can be stored. This surfaced while rerunning TMDB-dependent checks after the zero-track pattern hardening.

Next

  1. Triage the list into quick wins, medium refactors, and long-horizon cleanup.
  2. Tackle the cheapest remaining product-surface cleanup first:
    • placeholder UI surfaces and dead helper cleanup.
  3. Continue replacing oversized legacy test matrices with focused modern integration and unit coverage.
  4. Triage the legacy Scenario 4 pattern/track failure and decide whether to fix the harness, adapt it to the zero-track guard, or retire that path during the ongoing test-suite migration.

Delete When

  • Delete this scratchpad once the optimization backlog is either converted into issues/work items or distilled into durable project guidance.