Skip to content

Latest commit

 

History

History
90 lines (82 loc) · 10.5 KB

File metadata and controls

90 lines (82 loc) · 10.5 KB

Original prompt: 좋아 계속 작업을 진행해보자

2026-04-18

  • Started result persistence and score history work for Maestro Player.
  • Plan: lift run completion out of PlayerRunPanel, persist recent PerformanceRecord entries, and render a score history panel in the shell.
  • Implemented local PerformanceRecord persistence and a Recent score history panel in the player shell.
  • npm run qa passed after adding store tests, run completion callbacks, and UI coverage for persisted history.
  • Playwright smoke exposed a real 404 on the default public URL example, so the default public repo seed was changed to https://github.com/openai/openai-python.
  • Headless browser smoke still reports one generic 404 resource request, but replay load and the new history panel render correctly in the captured UI.
  • Next roadmap step started: add audio click-track and beat-sync feedback so the player rhythm language feels closer to the Maestro lane/score grammar while remaining a game-specific run loop.
  • Added metronomeEngine plus click-track UI, beat meter, and timing bias feedback in PlayerRunPanel.
  • npm run qa stayed green after the audio sync/timing pass.
  • Live browser smoke in this environment still cannot complete public replay load because real GitHub fetches are restricted, but the local UI/test harness remains green.
  • Started the next roadmap item: a chart-driven synth BGM layer that sits above the click track and follows run-step cue batches.
  • Implemented replayAudioEngine and connected chart-driven synth cue playback to PlayerRunPanel.
  • Added independent BGM mute/unmute, live cue summary text, and kept click-track plus beat-meter as separate controls.
  • npm run qa stayed green after the BGM pass.
  • Started judgment window refinement so manual play can expose a clearer perfect / great / good / miss rhythm skill curve.

2026-04-19

  • Started GitLab provider expansion so Maestro Player is no longer implicitly GitHub-only in public URL, account, and collaboration overlay flows.
  • Refactored publicRepoAdapter, accountRepoAdapter, and collaborationOverlayAdapter to dispatch on provider and added GitLab commit, project, merge request, note, and approval mapping.
  • Expanded the shell UI so public mode explicitly accepts GitHub or GitLab URLs and connected account mode can switch between GitHub and GitLab providers.
  • Added GitLab fixtures across adapter tests and extended the UI harness to mock GitLab API routes alongside existing GitHub routes.
  • Added public GitLab and connected GitLab account UI coverage, plus harness assertions for GitLab source registration.
  • npm run qa passed after the GitLab pass with adapter, UI, and harness regressions green.

2026-04-20

  • Started the next GitLab-specific roadmap step: move from flat MR note playback to discussion-aware semantics with unresolved, resolved, and reopened thread states.
  • Switched the GitLab collaboration overlay loader from merge request notes to the Discussions API shape so thread resolvable, resolved, resolved_by, and resolved_at state can drive replay events.
  • Added review-resolve and review-reopen overlay events and taught musicIntentMapper, chartMapper, and the replay timeline labels how to distinguish them from review-request-changes and review-approve.
  • Expanded GitLab fixtures and UI harness routes to use discussion payloads, including a reopen scenario, and updated QA expectations around latest-event ordering.
  • npm run qa passed after the discussion semantics pass.
  • Live Playwright smoke against the Vite shell rendered correctly, but console logs still showed one 404 and one 403 in this environment, so live forge fetch verification remains partially constrained by local network/runtime conditions.
  • Started a UI simplification pass so player settings do not sprawl into a separate panel; kept the setting surface to a single header language toggle.
  • Added a lightweight bilingual copy layer plus browser-language defaulting so the shell can switch between English and Korean without duplicating component logic.
  • Threaded localized copy through the hero, source tabs, source guide, input panel, replay status, run panel, event timeline, and score history views.
  • Added UI coverage for toggling between English and Korean and kept the existing English-first harness flows green.
  • npm run qa passed after the bilingual shell pass.
  • Browser smoke via the Playwright client captured a Korean-shell screenshot at player/output/web-game-bilingual/shot-0.png with no new console error artifact emitted for that run.
  • Started a music validation pass so future mapping changes can be judged by stable musical contracts instead of ad-hoc listening only.
  • Added docs/maestro-player/music-validation-plan.md to define a layered validation model: semantic contracts, musical fingerprint checks, chart/cue translation checks, and human listening rubric.
  • Added player/tests/musicValidationHarness.test.mjs with a fixed fixture that checks deterministic fingerprinting plus push, sync, request changes, resolve, approve, and merge musical roles.
  • Extended replayAudioEngine cues with eventRef so chart-to-audio translation can be traced during validation.
  • Updated harness and test-plan docs so music validation is a first-class regression gate.
  • npm run qa passed after the music validation pass.
  • Started the next validation layer: a golden listening set and autoplay listening pack so human listening checks can reuse stable public/provider fixtures.
  • Added player/tests/fixtures/goldenListeningSet.mjs with three fixed listening scenarios: GitHub public PR cadence, GitLab public discussion resolution, and transition overlay practice.
  • Added player/scripts/exportGoldenListeningPack.mjs plus npm run listening:pack to emit player/output/golden-listening-set/manifest.json and listening-pack.md.
  • Added docs/maestro-player/golden-listening-set.md and linked the new pack into the validation workflow docs.
  • Added player/tests/goldenListeningSet.test.mjs so the listening pack metadata stays deterministic in CI.
  • npm run qa passed after the golden listening set pass.
  • Browser smoke against the dedicated player dev server on 127.0.0.1:4174 rendered the Korean shell correctly at player/output/web-game-golden-pack-player/shot-0.png.
  • Started the next product-facing step: reuse the golden listening pack as a runtime source so the shell can launch fixed autoplay demos without going through forge fetches.
  • Added shared runtime module player/src/lib/goldenListeningPack.js and repointed the export script plus tests to that source so demos, docs, and QA no longer drift.
  • Added GoldenListeningPanel to the shell with curated autoplay demo cards for the GitHub, GitLab, and transition validation scenarios.
  • Extended PlayerRunPanel with external run requests so the shell can load a golden scenario and start autoplay immediately.

2026-04-21

  • Started play-screen polish with a narrower scope: improve the active run surface without adding new settings.
  • Added a play cockpit to PlayerRunPanel with current beat, next hit, and a compact judgment rail so the run state reads faster during autoplay/manual play.
  • Restyled the lane stage with beat-grid texture, active hit-line pulse, lane radar glow, and stronger note depth.
  • npm run qa passed after the polish pass.
  • Browser smoke captured the polished autoplay surface at player/output/web-game-play-polish/shot-0.png, and a focused run panel element capture at player/output/web-game-play-polish/run-panel-element.png.

2026-04-23

  • Captured the adrenaline phrase idea as a reusable effect contract: 거침없이 커밋해라. 풀리퀘스트는 거침없이 쏴라.
  • Added adrenalineEffectCatalog so commit backlog bursts can deterministically emit a maestro-adrenaline.commit-backlog-barrage effect for future UI/audio/chart use.
  • Documented trigger thresholds, visual/audio/chart direction, and guardrails in docs/maestro-player/adrenaline-effects.md.
  • Verified the current branch history: recent replay events emit 1 commit-backlog-barrage effect with rush severity.
  • npm run qa passed after adding the adrenaline effect catalog, tests, and harness coverage.

2026-05-13

  • Re-oriented the project for a return-to-project review: current player state is a working browser shell with public/account replay adapters, golden demos, polished run screen, and deterministic music mapping.
  • Added docs/maestro-player/chrome-extension-strategy.md to lock the recommendation that a fast Chrome extension MVP should focus on Public Repo URL Mode, current-tab repo detection, autoplay preview, and optional token-based account mode.
  • Explicitly excluded Local Repo Mode from the extension MVP because the current implementation still depends on a desktop/server bridge for read-only git access.

2026-06-14

  • Started the Chrome extension scaffold pass under player/extension/ so the public repo flow can be tested as a loadable MV3 extension before mounting the full React player shell.
  • Added a minimal extension runtime: manifest.json, popup, background service worker, player page, shared launch-session storage helpers, and bilingual copy for English/Korean browsers.
  • Scoped the first handoff to Public Repo URL Mode: popup reads the active tab, canonicalizes supported GitHub/GitLab repository URLs, persists the selected repo seed, and opens the extension player page.
  • Tightened GitLab public URL parsing in publicRepoAdapter so /-/merge_requests/... and similar forge paths normalize back to the repository root instead of breaking repo detection.
  • Next recommended step: mount the existing React run shell into player/extension/player.html, then wire the stored repo seed into the current public replay loader for autoplay preview.

2026-07-10

  • Continued the extension pass by replacing the placeholder player/extension/player.html surface with the real React player shell mount.
  • Added App bootstrap support so extension launch state can seed the initial source mode, public repo URL, branch, and one-shot auto-load behavior without changing the default browser-shell flow.
  • Rewired player/extension/player.js to read chrome.storage.local, validate the launch query against the stored session, and render the existing player app with public replay preload semantics.
  • Added a dedicated vite.extension.config.js plus npm run build:extension so the extension can be loaded from player/dist-extension/ instead of the raw source tree.
  • Added UI coverage for bootstrap-driven public replay preload and kept the next focus on simplifying the extension-specific surface around public mode.