Ctrl K
ComunidadGuías…

docs/decisions/issue-6507-resilience-indicators.tsv

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
ts	phase	decision	why	evidence	result
2026-08-30T03:24:41Z	frame	stopped at the first blocked preflight and repaired the checkout before implementation	the repository requires a current branch, live duplicate check, Node 24, and complete dependencies before expensive work	agent:preflight issue 6507	ready at 2243035c516742b93eea154c568cd2103a2438ff
2026-08-30T03:28:54Z	frame	created codex/issue-6507-resilience-indicators from refreshed origin/main	no open pull request implements issue 6507 and the delegated task requires an independent branch	live issue 6507 and duplicate PR query	clean branch at current origin/main
2026-08-30T03:33:42Z	design	kept indicator contribution arithmetic inside the scorer and the full-imputation factor at the dimension-to-domain boundary	weightedBlend determines indicator contributions while coverageWeightedMean applies the 0.5 factor only after the dimension score exists	server/worldmonitor/resilience/v1/_dimension-scorers.ts:883 and server/worldmonitor/resilience/v1/_shared.ts:568	design constraint verified
2026-08-30T04:01:00Z	design	selected request-local scorer tracing with provider-specific raw observation policy	literal scorer arithmetic is reproducible while post-hoc projection can reconcile totals without matching the executed formula	server/worldmonitor/resilience/v1/_indicator-trace.ts and tests/resilience-indicator-trace.test.mts	trace owns normalized scores and contributions; policy owns raw release and provenance
2026-08-30T04:05:00Z	plan	split implementation into disjoint scorer-trace, source-policy, and API-contract units	the seams can be proved independently and avoid concurrent edits to generated artifacts	server/worldmonitor/resilience/v1/_indicator-trace.ts server/worldmonitor/resilience/v1/_indicator-source-policy.ts proto/worldmonitor/resilience/v1/get_resilience_indicators.proto	parent retained handler integration, generation, commits, PR delivery, review, and CI
2026-08-30T05:28:00Z	verification	exposed the retired reserve-adequacy dimension as inactive and reconciliation-unavailable instead of inventing a contribution	the scorer intentionally returns a neutral display score with zero coverage and zero executed indicator contribution	focused RPC test first failed on the retired placeholder	contract now reports active=false with a reason and keeps all contributions at zero
2026-08-30T05:36:00Z	verification	regenerated sebuf clients servers request validation OpenAPI and public MCP facts after the final contract change	generated artifacts must match the source proto and registered MCP tool	make generate; npm run product:facts:check; tests/resilience-indicators-contract.test.mts	focused contract suite and 499-test parity suite passed
2026-08-30T06:14:00Z	simplification	cached derived trace allocations per dimension and removed avoidable trace-path object copies	the private API always emits 72 rows while the public score path must not pay trace-only allocation costs	server/worldmonitor/resilience/v1/_indicator-trace.ts:materializeIndicatorTrace and _dimension-scorers.ts:tracedBlend	84 focused tests plus npm run typecheck and npm run typecheck:api passed
2026-08-30T06:29:00Z	licensing	required a reviewed API or dataset path and marked exact observation provenance separately from registry attribution	a provider host or descriptive source link does not prove that the reviewed dataset produced the selected observation	tests/resilience-indicator-source-policy.test.mts and ResilienceIndicatorSource.observation_provenance	World Bank raw release now requires api.worldbank.org/v2 provenance; documentation and terms URLs fail closed
2026-08-30T06:29:00Z	provenance	left retrievedAt unavailable on every row	the scorer preserves provider observation time or source year but not a per-indicator seed retrieval time	server/worldmonitor/resilience/v1/get-resilience-indicators.ts and docs/methodology/resilience-indicator-licensing.mdx	response dataVersion is not misreported as per-indicator retrieval time
2026-08-30T08:10:00Z	review	kept fallback contributions included when a dimension is marked source-failure	the scorer publishes the substituted score and the drill-down must reconcile to that exact score	tests/resilience-indicator-trace.test.mts source-failure reconciliation case	source-failure remains a provenance state without erasing executed contributions
2026-08-30T08:14:00Z	review	resolved source attribution and observation provenance per exact contributing source	aggregate indicator policy metadata can mislabel Eurostat or an unused composite dependency	tests/resilience-indicators-rpc.test.mts composite and Eurostat cases	missing or unused sources are registry attribution only and Eurostat stays audit-incomplete
2026-08-30T08:18:00Z	review	used the oldest constituent year for composite observation age	a recent source must not hide an older input that contributed to the score	tests/resilience-energy-v2.test.mts and tests/resilience-dimension-scorers.test.mts	energy and liquid-reserve composite ages are conservative
2026-08-30T08:24:00Z	review	added a five-minute versioned response cache strict diagnostic seed reads and a fail-closed 60-per-minute route budget	a cold build fans out across 62 source keys and Redis errors must not look like valid missing observations	tests/resilience-indicators-rpc.test.mts and tests/rate-limit.test.mts	repeated builds coalesce while source-read and limiter failures fail closed
2026-08-30T08:31:00Z	review	corrected energy-v2 provenance and failed closed on low-carbon raw redistribution	the fossil-electricity seed is World Bank WDI while the low-carbon OWID chart contains Ember and Energy Institute upstream data	scripts/seed-fossil-electricity-share.mjs scripts/seed-low-carbon-generation.mjs and tests/resilience-indicator-source-policy.test.mts	imported-fossil provenance now names World Bank and low-carbon raw values remain audit-incomplete
2026-08-30T09:20:00Z	review	narrowed World Bank raw release to exact indicator paths and required an exact observation-level seed timestamp	a provider-wide API root can match unrelated data and an extraction date from another seed is false provenance	server/worldmonitor/resilience/v1/_indicator-source-policy.ts and get-resilience-indicators.ts	static rows trace country seededAt or _recovered.seededAt; other otherwise licensable rows fail closed until their own seed time is traced
2026-08-30T09:45:00Z	review	disabled JMESPath for the attribution-bound response and traced only actual WGI contributors with the oldest source year	projection can separate a raw value from required attribution and a composite must not hide an older input	api/mcp/registry/index.ts scripts/openapi-inject-jmespath.mjs server/gateway.ts and tests/resilience-indicators-rpc.test.mts	MCP and OpenAPI discovery omit projection; both runtimes reject it; WGI continuity exposes raw data only with complete exact provenance and conservative age