Skip to content

Run P.808 family of tests on Prolific platform + agent specification#96

Open
babaknaderi wants to merge 29 commits into
masterfrom
babaknaderi/prolific
Open

Run P.808 family of tests on Prolific platform + agent specification#96
babaknaderi wants to merge 29 commits into
masterfrom
babaknaderi/prolific

Conversation

@babaknaderi
Copy link
Copy Markdown
Contributor

  • Multiple fixes and updates.
  • Support Prolific Crowdsourcing platform
  • Added Agent support for creating and parsing results.

babaknaderi and others added 28 commits October 7, 2025 13:29
…and added agent instruction to create study.
- Rewrite .github/create.instruction.md for the P.808 repo with correct
  paths, column names, method mappings, and end-to-end automation steps
- Add src/utils/download_clips.py to download clips from CSV URLs locally
- Add src/utils/select_training_clips.py to select training clips from
  rating clips
- Update AGENTS.md with task-specific instruction file references for
  auto-discovery by agents
- Fix librosa API compatibility in create_trapping_stimuli.py
  (get_duration path= and resample orig_sr=/target_sr= kwargs)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add 'upload' mode that uses 'az storage blob upload-batch' with
  az login credentials for zero-manual-step uploads
- Stages only needed files (not CSVs/txt) via temp directory
- Falls back to 'upload-local' (azcopy command) when az CLI unavailable
- Update create.instruction.md to use direct upload as the default
- Existing upload-local and copy-remote modes are preserved

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…P.804 ver assignment

- Split source clip note into gold-specific (requires clean reference audio)
  and trapping-specific (quality does not matter, agent can download directly)
- P.804: replace two independent gold sets with single set approach,
  assigning ver=1 for ovrl_ans=5 and ver=2 for ovrl_ans=1

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Move language.instructions.md to .github/instructions/ for proper CLI discovery
- Add Custom Agents section to copilot-instructions.md
- Add create-study agent definition in .github/agents/
- Update AGENTS.md and README.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Points Claude Code users to coding standards and the create-study
agent runbook so the agent is discoverable across both Copilot CLI
and Claude Code.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Instructs any AI agent to adapt PowerShell commands and Windows paths
to the user's OS and shell, making the runbook usable from Claude Code
on macOS/Linux as well as Copilot CLI on Windows.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
All instances of C:\my\repos\P.808 are now REPO_ROOT, which the
agent resolves to the actual Git root at runtime. This makes the
runbook portable across clones, machines, and operating systems.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The quick-reference was a condensed copy of the main workflow (sections
3-10). All six known issues were already documented inline in their
respective workflow steps. Removing both eliminates maintenance risk
from duplicated information.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ates

- Rename 'src/trapping clips/' to 'src/trapping_clips_assets/' (avoid spaces)
- Keep sample source WAVs (s1-s12.wav) in new location
- Update all config files and docs to reference new directory name
- Add .gitkeep to output/ subdirectory
- Fix CSV double line endings in select_training_clips.py
- Update agent instructions (create-study.agent.md):
  - Add PowerShell execution policy bypass guidance
  - Add training_gold_clips concept for P.804 and pp835
  - Ask for manual training clip selection first, fall back to auto
  - Add [ASK] review step after generating gold/trapping/training clips
  - Make --check_urls and --create_local_test mandatory
  - Use random opaque dir names for rating clip uploads
  - Fix cleanup/review messaging after file deletion
  - Update all trapping directory references

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add --sas_token parameter to download_clips.py for private storage
- Clarify training_gold_clips priority over training_clips for P.804/pp835
- Add URL mapping CSV generation step (step 9b)
- Document check_urls_in_files_exist for validation with SAS token support
- Expand azcopy guidance: prefer SAS token over azcopy login
- Condense agent file to fit within 30,000 char limit

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Agent: generate SAS tokens with az CLI instead of asking user for them
- Agent: use SAS tokens on both source and destination for azcopy transfers
  (never rely on azcopy login which expires after 90 days)
- Agent: add note about azcopy --recursive preserving directory structure
- P.804 template: remove outdated information

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add CCR score mappings (-3 to 0) to create_trapping_stimuli.py
- Add trapping_ccr.cfg with adj_ccr_score_ message prefix
- Update agent doc: CCR trapping config in method tables
- Add reuse-confirmation workflow for multi-study sessions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
DCR and CCR do not use traditional trapping clips with overlaid
spoken scores. The TP field is a reference clip used as a gold/control
question (legacy naming). Update agent doc to skip
create_trapping_stimuli.py for these methods and use reference clips
directly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
New agent runbook for processing crowdsourced subjective test results:
- Runs result_parser.py with config, answers, and optional Prolific data
- Validates inputs, checks rejection rates (>35% alarming)
- Analyzes gold question performance (>20% rejection alarming)
- Provides structured summary and points to output files
- Documents scale suffixes per method and output file patterns

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Updated docstring in check_tps() and inline comment in data_cleaning()
to note that CCR and DCR use gold questions coded as trapping questions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Corrected user-facing text and accessibility attributes
across all 15 HTML templates.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@babaknaderi
Copy link
Copy Markdown
Contributor Author

@copilot resolve the merge conflicts in this pull request

Co-authored-by: babaknaderi <15108406+babaknaderi@users.noreply.github.com>
Copy link
Copy Markdown

Copilot AI commented May 22, 2026

@copilot resolve the merge conflicts in this pull request

Merge conflicts resolved in commit 0d64953. Here's a summary of how each conflict was handled:

  • docs/conf_master.md: Kept the PR's grammar fix ("Defines the quantity bonus requirement.")
  • docs/prep_p804.md: Kept master's trailing whitespace cleanup + the PR's "values" (correct plural) and extra create_gold_clips.py content
  • docs/prep_p835.md: Combined both — master's "do not" (correct plural agreement) + the PR's corrections ("proposed" and "based on")
  • src/P808Template/README.md: Kept master's version (no trailing space)
  • src/P808Template/P808_multi.html: Kept the PR's id="gold_warning_checkbox" attribute (required by the existing JS event handler) and fixed the typo value="warining"value="warning"
  • src/configurations/master.cfg: Kept master's new configuration sections (CommonAccountKeys, DefaultStorage, GoldenSample, etc.)
  • src/requirements.txt: Kept the PR's unpinned/expanded requirements
  • src/result_parser.py: Kept the PR's logger-based logging and simpler save_approved_ones function signature

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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.

3 participants