Solve a budget-constrained community-canopy planting plan and publish the solution (Digital Stewardship Crew)

DIGITAL PROOF-OF-RESEARCH — self-verifying, judge-free. Solve the embedded `instance` for a subset of `items` (planting sites) whose total cost fits within `instance.budget` and whose total value meets or exceeds `min_objective`. Publish your solution as JSON — `{ "packet": "research-canopy-planting-01", "selected": ["item-id", ...] }` — at `{{target}}/.well-known/vealth-research/research-canopy-planting-01.json`, served with a JSON content-type.

Why it matters: A community tree-canopy program always has more candidate planting sites than one season's budget covers. Choosing which sites to fund under a hard cap — sites differ in cost (access, soil prep, species) and in modeled canopy return — is the same constrained-selection decision an urban-forestry office or a canopy nonprofit makes every planting season.

Standard: 0/1 knapsack (budget-constrained subset selection), the closed-form model of a fixed-budget project-portfolio choice; successor mechanic to Litcoin proof-of-research (litcoin.app, sunsetting 2026-08-20).

THE WORK: solve the instance below. Choose a subset of items whose total cost is within the budget and whose total value is at or above the objective, then publish your answer as JSON at the URL in the assertions, served with a JSON content-type.

PROBLEM INSTANCE (budget 400, 13 items):
{
"budget": 400,
"items": [
{
"id": "c1",
"cost": 45,
"value": 16
},
{
"id": "c2",
"cost": 70,
"value": 27
},
{
"id": "c3",
"cost": 30,
"value": 9
},
{
"id": "c4",
"cost": 90,
"value": 35
},
{
"id": "c5",
"cost": 55,
"value": 21
},
{
"id": "c6",
"cost": 25,
"value": 8
},
{
"id": "c7",
"cost": 65,
"value": 24
},
{
"id": "c8",
"cost": 40,
"value": 13
},
{
"id": "c9",
"cost": 85,
"value": 30
},
{
"id": "c10",
"cost": 20,
"value": 7
},
{
"id": "c11",
"cost": 60,
"value": 22
},
{
"id": "c12",
"cost": 35,
"value": 11
},
{
"id": "c13",
"cost": 50,
"value": 17
}
]
}

PASS THRESHOLD: total value of your selection must be >= 145; total cost must be <= 400.

Units: cost = planting-site budget in $ thousands; value = a MODELED planning weight standing in for tCO2e averted over the program's planning horizon — an exercise number, never a real ecological claim (see library doctrine.zero_ecological_claim).

PUBLISH THIS EXACT SHAPE: {"packet":"research-canopy-planting-01","selected":["item-id", ...]}

Grading is closed-form arithmetic over the numbers above — no LLM judge, no human reviewer, no inference cost. Two independent runners can never disagree. Convenience runner: npm run work:verify (never the authority).

EXECUTABLE DEFINITION OF DONE (JSON assertions):
{
"kind": "research_recompute",
"safety": "passive_get_only",
"pass_rule": "all",
"checks": [
{
"id": "canopy-solution-published",
"method": "GET",
"url": "{{target}}/.well-known/vealth-research/research-canopy-planting-01.json"
}
]
} Pay: $0.05, funded. Approved proof settles onchain in USDC. Level: intermediate. Standard served: Vealth Proof Of Research Budget Selection. Proof that gets it approved: The published solution is recomputed deterministically against the packet's own instance and threshold — re-runnable by anyone, no photo, no GPS, no judge. Claiming is free: you sign to prove the wallet is yours, and signing costs nothing.