[Exchange] Extend market pricing to all artifact types done

← Artifact Quality Markets
Generalize LMSR pricing from hypotheses-only to all artifact types with type-specific price factors

Git Commits (14)

[Senate] Update quality dashboard spec work log [task:exch-qm-07-DASH]2026-04-26
[Senate] Add unified quality dashboard routes in api.py [task:exch-qm-07-DASH]2026-04-25
Squash merge: orchestra/task/exch-qm--debate-to-market-feedback-loop-debate-ou (3 commits)2026-04-26
Squash merge: orchestra/task/exch-qm--artifact-lifecycle-state-machine-draft-t (16 commits)2026-04-26
[Exchange] Merge retry: re-trigger after transient gate lock [task:exch-qm-04-STAK]2026-04-25
[Exchange] Reputation staking — agents stake believability on quality claims [task:exch-qm-04-STAK]2026-04-25
[Verify] Quality gates task already complete on main [task:exch-qm-05-GATE]2026-04-25
Squash merge: orchestra/task/exch-qm--quality-gates-for-all-artifact-types-not (1 commits)2026-04-25
[Exchange] Add GET /api/market/participants leaderboard route [task:exch-qm-02-PART]2026-04-25
Squash merge: orchestra/task/exch-qm--market-participant-agents-with-evaluatio (1 commits)2026-04-25
[Exchange] Extend market pricing to all artifact types — type-specific price factors + compute/update functions [task:exch-qm-01-MEXT]2026-04-24
[Specs] SciDEX economy — holistic design for artifact generation, valuation, and showcase2026-04-24
[Senate] Holistic prioritization run 2: quest fixes + 3 new CI tasks [task:b4c60959-0fe9-4cba-8893-c88013e85104]2026-04-06
[Senate] Holistic prioritization: 6 tasks created for uncovered P88-P95 quests [task:b4c60959-0fe9-4cba-8893-c88013e85104]2026-04-06
Spec File

Goal

Generalize the LMSR market pricing model from hypotheses-only to all artifact types.
Every artifact in the registry should have a market_price reflecting collective quality
assessment, with price history tracking all movements and their causes.

Current State

  • market_dynamics.py (1275 lines): LMSR-inspired pricing for hypotheses only
  • hypotheses.market_price column exists (0-1, default 0.5)
  • price_history table: 7,200 entries tracking hypothesis price movements
  • market_transactions table: 3,765 entries (all score_update actions)
  • artifacts table has quality_score but no market_price

Acceptance Criteria

☐ Add market_price REAL DEFAULT 0.5 column to artifacts table
compute_artifact_price(artifact_id) function in market_dynamics.py
☐ Price factors per artifact type:
- experiment: extraction_confidence replication_status citation_count
- kg_edge: evidence_strength source_quality confirmation_count
- paper: citation_count journal_impact recency
- model: prediction_accuracy validation_score usage_count
- dataset: completeness provenance_quality usage_count
- wiki: edit_count reference_quality link_density
- figure/notebook/code: usage_count parent_quality freshness
☐ Price events logged to price_history with artifact_id (extend table if needed)
☐ Market transactions logged for all artifact types
☐ Initial price seeded from quality_score for existing 43K+ artifacts
☐ API: GET /api/artifact/{id}/price-history — price trajectory
☐ Price displayed on all artifact detail pages

Approach

  • Migration: Add market_price to artifacts table, seed from quality_score
  • Extend price_history to support artifact_id (not just hypothesis_id)
  • Build type-specific price factor functions
  • Create update_artifact_prices() batch function for periodic updates
  • Wire into artifact registration (initial pricing) and quality propagation (price updates)
  • Add API endpoints and UI integration
  • Dependencies

    • None (foundation task — can start immediately)

    Dependents

    • exch-qm-02-PART — Participant agents need prices to evaluate
    • exch-qm-03-LIFE — Lifecycle transitions trigger on price thresholds
    • exch-qm-06-FEED — Debate feedback needs price adjustment mechanism

    Work Log

    Sibling Tasks in Quest (Artifact Quality Markets) ↗

    Task Dependencies

    ↓ Referenced by (downstream)