jwalsh / jwalsh/cprr

feat: support extended fields (assigned_agent, review_gate, priority)

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
cprr enhancement
Dominant language
Go
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Summary

Formalize support for extended conjecture fields that are already being used in practice.

## Motivation

The http-axiom project (largest cprr user: 41 conjectures, 37 worktrees) has organically added fields to conjectures that the tool doesn't recognize:

- `assigned_agent` (string) — which agent is responsible for the conjecture
- `review_gate` (string) — blocking question/gate condition before advancing
- `priority` (string/int) — ordering hint for work
- `acceptance_criteria` (string) — what constitutes confirmation
- `falsification` (string) — explicit falsification criteria

These are silently preserved through Go's JSON marshaling but never displayed, queried, or validated.

## Options

**A) Document the extensibility contract** — unknown fields preserved as-is, `cprr show` displays them under "Custom Fields"

**B) Add optional standard fields** to the Conjecture struct for the most useful ones (`assigned_agent`, `priority`, `falsification`)

**C) Generic metadata map** — `cprr add --meta key=value` stored in a `metadata` map field

## Recommendation

Option A is minimum viable. Option B for `falsification` specifically — it aligns with CPRR's Popperian philosophy and the existing `--hypothesis` flag.

Contributor guide

Open the contributing guide

Research direction

Start by reading the Go Conjecture struct and the existing JSON marshaling behavior, then inspect the cprr show and cprr add entry points mentioned in the issue. Compare options A, B, and C against the listed extended fields and the recommendation. Done means the chosen contract is clearly defined and the affected display, storage, querying, or validation behavior is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.