From 96e7a598f32d100fc27dd098e280a86ed59d2e2f Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 05:17:06 +0000 Subject: [PATCH 01/10] feat(core): wire project.brief and place.metrics handlers (WI-1067) Both services already existed (application/projects.rs brief_op and application/place.rs place_metrics_op) but had no arm in the registry's service table, so the operations answered not_ported. Add the two arms, point the not-ported registry test at forge.link, which is still unported, and assert the two arms stay wired. Co-Authored-By: Claude Haiku 5.5 Signed-off-by: sprooty --- engine/core/src/registry.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/engine/core/src/registry.rs b/engine/core/src/registry.rs index 31598e3e..04ee8609 100644 --- a/engine/core/src/registry.rs +++ b/engine/core/src/registry.rs @@ -230,6 +230,8 @@ pub fn service_for(name: &str) -> Option { "project.list" => Some(crate::application::projects::list_op), "project.update" => Some(crate::application::projects::update_op), "project.transition" => Some(crate::application::projects::transition_op), + "project.brief" => Some(crate::application::projects::brief_op), + "place.metrics" => Some(crate::application::place::place_metrics_op), "label.create" => Some(crate::application::taxonomy::create_label_op), "label.list" => Some(crate::application::taxonomy::list_labels_op), "actor.create" => Some(crate::application::taxonomy::create_actor_op), @@ -992,7 +994,7 @@ mod tests { #[test] fn not_ported_is_a_failure() { let registry = registry(); - let operation = registry.get("place.metrics").unwrap(); + let operation = registry.get("forge.link").unwrap(); let error = operation.run(None, serde_json::json!({})).unwrap_err(); assert!( error.message().contains("not been ported"), @@ -1001,6 +1003,12 @@ mod tests { ); } + #[test] + fn the_project_brief_and_place_metrics_handlers_are_wired() { + assert!(service_for("project.brief").is_some()); + assert!(service_for("place.metrics").is_some()); + } + #[test] fn dump_names_every_operation_and_its_exclusion() { let manifest = dump(); From 23a99672cb12068c2cb35c4cdd0b177e354a0508 Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 05:29:49 +0000 Subject: [PATCH 02/10] feat(core): project.brief counts and place.metrics badges match Python (WI-1067) project.brief took its open-work, bug, declared and observed counts and its top backlog from a gather that was not ported, so it said not_collected for all of them, and it echoed two request fields Python does not return. It now runs the same backlog gather `backlog` ranks, takes the counts and the top rows from it, and drops the two echoed fields. place.metrics left the inbox and backlog badges null. The inbox badge is now the active count and the count under the saved filter, read the way inbox.list reads its entries; the backlog badge is the candidate total of `backlog` with limit 1. The reads run in Python's order, so generated_at matches the reference clock. The CLI test that needed an unported operation now uses decision.list, since place.metrics is ported. Co-Authored-By: Claude Haiku 5.5 Signed-off-by: sprooty --- engine/core/src/adapters/cli.rs | 2 +- engine/core/src/application/place.rs | 85 ++++++++++--------- engine/core/src/application/projects.rs | 28 +++--- engine/core/src/application/services/inbox.rs | 48 +++++++++++ engine/core/src/application/views.rs | 57 +++++++++++++ 5 files changed, 165 insertions(+), 55 deletions(-) diff --git a/engine/core/src/adapters/cli.rs b/engine/core/src/adapters/cli.rs index df88bc1c..4ebd92a7 100644 --- a/engine/core/src/adapters/cli.rs +++ b/engine/core/src/adapters/cli.rs @@ -1818,7 +1818,7 @@ mod tests { fn a_domain_error_exits_one() { let registry = default_registry(); let result = at_eighty( - &argv(&["place", "metrics"]), + &argv(&["decision", "list"]), ®istry, "test", &mut no_dispatch, diff --git a/engine/core/src/application/place.rs b/engine/core/src/application/place.rs index 25849e39..27cc54f6 100644 --- a/engine/core/src/application/place.rs +++ b/engine/core/src/application/place.rs @@ -2,61 +2,59 @@ //! `src/vogt/application/services/place.py`. //! //! `place.metrics` answers every shell badge in one bounded response. A badge -//! whose source is not ported yet is `null`, the same shape Python returns -//! when a provider raises: one unavailable answer never hides the others or -//! fails the route. The saved Inbox filter, the backlog count and the inbox -//! badge itself are those sources. `work.list` and `drift.list` are ported, so -//! their badges are real answers. +//! whose source fails is `null`, the same shape Python returns when a provider +//! raises: one unavailable answer never hides the others or fails the route. +//! Read order follows Python's, because the step clock is read along the way +//! and the answer's `generated_at` is the last of those reads. use serde_json::{json, Value}; -use super::context::Built; +use super::context::{AppContext, Built}; +use super::services::inbox::inbox_badge; +use super::services::now_of; +use super::services::preferences::{saved_inbox_filter, InboxSavedFilter}; +use super::views::backlog_total_considered; +use crate::core::{Clock, IdFactory}; use crate::errors::VogtError; -use crate::storage::interface::{DeclaredStore, ReadView}; +use crate::storage::interface::{DeclaredStore, ReadView, WorkFilter}; /// Return all shell badge values in one bounded response. pub fn place_metrics_op(ctx: &Built, _params: Value) -> Result { - match ctx { - Built::SystemRandom(ctx) => metrics(ctx), - Built::SystemSequential(ctx) => metrics(ctx), - Built::StepRandom(ctx) => metrics(ctx), - Built::StepSequential(ctx) => metrics(ctx), - } + crate::with_ctx!(ctx, |ctx| metrics(ctx)) } -fn metrics( - ctx: &super::context::AppContext, -) -> Result { +fn metrics(ctx: &AppContext) -> Result +where + C: Clock + 'static, + I: IdFactory + 'static, +{ + // The saved filter and the badge are read first, as Python does. An + // unreadable filter means "no filter", and an unreadable badge is null. + let saved: Option = saved_inbox_filter(ctx).ok().flatten(); + let badge = inbox_badge(ctx, saved.as_ref()).ok(); + // The store counts, in Python's order. The backlog badge is the whole + // candidate population, which `backlog` ranks and reports. let projects_total = ctx.declared.read()?.counts()?.projects; - let revision = ctx.declared.read()?.current_revision()?; - let generated_at = crate::application::services::now_of(&ctx.clock); - // `work.list` and `list_drift` are ported, so both badges are real answers. - // The inbox and backlog badges read services that are not, and a null there - // means "not available", which is distinct from a counted zero. - // The badge counts every open item, the same total `work.list` reports with - // no project scope and the default filter. The upstream join adds nothing - // when no project is linked, which is the only state the declared store can - // answer on its own. - let work_total = - ctx.declared - .read()? - .count_work_items(&crate::storage::interface::WorkFilter { - exclude_terminal: true, - limit: 1, - ..crate::storage::interface::WorkFilter::default() - })?; + let work_total = ctx.declared.read()?.count_work_items(&WorkFilter { + exclude_terminal: true, + limit: 1, + ..WorkFilter::default() + })?; + let backlog_total = backlog_total_considered(ctx).ok(); let drift_present = !ctx .declared .read()? .list_drift(Some("open"), None, None, 1)? .is_empty(); + let revision = ctx.declared.read()?.current_revision()?; + let generated_at = now_of(&ctx.clock); Ok(json!({ - "inbox_active": Value::Null, - "inbox_active_unfiltered": Value::Null, - "inbox_filter": Value::Null, + "inbox_active": badge.map(|(filtered, _)| filtered), + "inbox_active_unfiltered": badge.map(|(_, active)| active), + "inbox_filter": saved, "projects_total": projects_total, "work_total": work_total, - "backlog_total_considered": Value::Null, + "backlog_total_considered": backlog_total, "drift_present": drift_present, "revision": revision, "generated_at": generated_at, @@ -67,9 +65,10 @@ fn metrics( mod tests { use super::*; use crate::core::{ActorKind, Principal, SequentialIds, StepClock}; + use crate::storage::interface::ObservedStore; #[test] - fn metrics_report_the_project_count_and_leave_unported_badges_absent() { + fn metrics_report_every_badge_as_a_counted_answer() { use std::sync::atomic::{AtomicU64, Ordering}; static COUNTER: AtomicU64 = AtomicU64::new(0); let dir = std::env::temp_dir().join(format!( @@ -101,11 +100,17 @@ mod tests { unreachable!() }; ctx.declared.migrate().unwrap(); + ctx.observed.migrate().unwrap(); ctx.declared.bootstrap(&principal).unwrap(); let result = place_metrics_op(&built, Value::Null).unwrap(); assert_eq!(result["projects_total"], 0); - assert!(result["inbox_active"].is_null()); - // No work items exist, so the ported work badge answers zero. + // An empty Inbox and an empty backlog count as zero, not null: null + // would mean the provider failed. + assert_eq!(result["inbox_active"], 0); + assert_eq!(result["inbox_active_unfiltered"], 0); + assert!(result["inbox_filter"].is_null()); + assert_eq!(result["backlog_total_considered"], 0); + // No work items exist, so the work badge answers zero. assert_eq!(result["work_total"], 0); // No proposals exist, so the ported drift badge answers false rather // than null. diff --git a/engine/core/src/application/projects.rs b/engine/core/src/application/projects.rs index bb10515e..4f7b6635 100644 --- a/engine/core/src/application/projects.rs +++ b/engine/core/src/application/projects.rs @@ -3,8 +3,6 @@ //! //! `project.import` clones, registers and (with `consolidate: false`) stops there. //! Consolidation waits on `forge.onboard`, which has no Rust port yet. -//! Ranked backlog is not ported, so the brief says `not_collected` for the -//! counts that come out of the gather rather than inventing a zero. use std::path::{Component, Path, PathBuf}; @@ -54,9 +52,6 @@ const PROJECT_SCAFFOLDED_EVENT: &str = "project.scaffolded"; /// string is what the observed store is queried by. const KIND_DEP_SCAN: &str = "dep_scan"; -/// Ranked backlog is `views._gather`, which is not ported. -const BACKLOG_NOT_COLLECTED: &str = "ranked backlog is not ported yet"; - // --- parameters ------------------------------------------------------------- #[derive(Debug, Deserialize)] @@ -930,6 +925,15 @@ fn brief_project( by_state.sort(); by_kind.sort(); let observed_version = observed_version(ctx, &project.id)?; + drop(view); + // The same population `backlog` and `bugs` rank, so the three views agree + // about one project at one moment. + let population = crate::application::views::brief_population( + ctx, + &project.slug, + params.backlog_limit as usize, + ¶ms.mode, + )?; let version_matches = match (&observed_version, &project.current_version) { (Some(observed), Some(declared)) => { Some(observed.trim_start_matches('v') == declared.trim_start_matches('v')) @@ -939,15 +943,13 @@ fn brief_project( let adopted = project.contract_adopted_at.is_some(); Ok(json!({ "project": project, - // The gather that ranks open work is not ported. These are not zeros: - // a zero would say a sweep found nothing. - "open_work": "not_collected", - "open_bugs": "not_collected", - "declared_work": "not_collected", - "observed_work": "not_collected", + "open_work": population.open_work, + "open_bugs": population.open_bugs, + "declared_work": population.declared, + "observed_work": population.observed, "by_state": tally_object(&by_state), "by_kind": tally_object(&by_kind), - "top_backlog": {"status": "not_collected", "detail": BACKLOG_NOT_COLLECTED}, + "top_backlog": population.top, "current_version": project.current_version, "declared_version": project.current_version, "observed_version": observed_version, @@ -961,8 +963,6 @@ fn brief_project( "ci_status": ci_summary(ctx, &project.id)?, "dependencies": dependency_summary(ctx, &project.id)?, "freshness": crate::application::services::freshness::freshness_of(&ctx.observed, &ctx.clock)?, - "backlog_limit": params.backlog_limit, - "mode": params.mode, })) } diff --git a/engine/core/src/application/services/inbox.rs b/engine/core/src/application/services/inbox.rs index f9a7d406..0108781f 100644 --- a/engine/core/src/application/services/inbox.rs +++ b/engine/core/src/application/services/inbox.rs @@ -16,6 +16,7 @@ use serde_json::{json, Value}; use crate::actors::{self, ActorClass}; use crate::application::context::{AppContext, Built}; +use crate::application::services::preferences::InboxSavedFilter; use crate::application::services::{context_parts, dispatch, now_of, write_context}; use crate::application::writes::{audited_write, WriteOutcome}; use crate::core::{ @@ -52,6 +53,53 @@ pub fn inbox_restore_op(built: &Built, params: Value) -> Result( + ctx: &AppContext, + saved: Option<&InboxSavedFilter>, +) -> Result<(i64, i64), VogtError> +where + C: Clock + 'static, + I: IdFactory + 'static, +{ + let (declared, observed, _, _, _, config) = context_parts(ctx); + let view = declared.read()?; + let mut entries = collect(ctx, observed, &view, config)?; + let triage = view.inbox_triage_by_keys( + &entries + .iter() + .map(|entry| text_of(entry, "entry_key")) + .collect::>(), + )?; + for entry in &mut entries { + *entry = apply_triage(ctx, &triage, entry.clone()); + } + let moment = now_of(&ctx.clock); + let active = ["active".to_string()]; + let active_total = entries + .iter() + .filter(|entry| triage_matches(entry, &active, moment)) + .count() as i64; + let filtered = match saved { + None => active_total, + Some(saved) => entries + .iter() + .filter(|entry| { + saved + .sources + .as_ref() + .is_none_or(|wanted| wanted.contains(&text_of(entry, "source"))) + && triage_matches(entry, &saved.triage_states, moment) + && actor_matches(entry, &saved.actor) + }) + .count() as i64, + }; + Ok((filtered, active_total)) +} + fn inbox_list(ctx: &AppContext, params: Value) -> Result where C: Clock + 'static, diff --git a/engine/core/src/application/views.rs b/engine/core/src/application/views.rs index e72ba844..0f25ceda 100644 --- a/engine/core/src/application/views.rs +++ b/engine/core/src/application/views.rs @@ -270,6 +270,63 @@ pub(crate) fn candidate_population( Ok((gathered.ranked.len() as i64, gathered.declared)) } +/// What `project.brief` reads from the backlog gather for one project: the +/// open-work and open-bug counts, the declared and observed split, and the top +/// rows. Python's `brief_project` calls `_gather` with no filters and then +/// takes these from it, so this is the same gather `backlog` ranks. +pub(crate) struct BriefPopulation { + pub open_work: i64, + pub open_bugs: i64, + pub declared: i64, + pub observed: i64, + pub top: Vec, +} + +pub(crate) fn brief_population( + ctx: &AppContext, + project: &str, + backlog_limit: usize, + mode: &str, +) -> Result { + let query = GatherQuery { + project: Some(project), + kinds: Vec::new(), + priorities: Vec::new(), + assignee: None, + initiative: None, + label: None, + trust_states: Vec::new(), + include_prs: true, + }; + let gathered = gather(ctx, &query)?; + let open_bugs = gathered + .ranked + .iter() + .filter(|row| row.value.get("kind").and_then(serde_json::Value::as_str) == Some("bug")) + .count() as i64; + Ok(BriefPopulation { + open_work: gathered.ranked.len() as i64, + open_bugs, + declared: gathered.declared, + observed: gathered.observed, + top: gathered + .ranked + .iter() + .take(backlog_limit) + .map(|row| projected(&row.value, mode)) + .collect(), + }) +} + +/// `backlog(limit=1).total_considered`, the backlog badge `place.metrics` +/// reads. It is the whole candidate population, not the page. +pub(crate) fn backlog_total_considered( + ctx: &AppContext, +) -> Result { + let answer = backlog(ctx, serde_json::json!({"limit": 1}))?; + Ok(answer["total_considered"].as_i64().unwrap_or(0)) +} + /// The candidate population of a ranked view, scored and ordered. Ports /// `_gather`: declared rows first, then the observed subjects that name no /// declared work, with a PR collapsed under the item it implements. From 791a81a1832ac4c95632b2160d677a4d5db98e33 Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 05:29:49 +0000 Subject: [PATCH 03/10] test(parity): cover project.brief, place.metrics and deployed.versions (WI-1067) Adds parity steps for the three read surfaces S2 left unchecked. project.brief uses slug, the name the CLI takes. deployed.versions maps to the deployed-versions command word. place.metrics takes no params. The three list steps (workflow.list, label.list, project.list) already carry an empty params object, so the MCP driver keeps them and records them. The golden is recorded from the Python reference against the same main (21c95f6) and named 21c95f6-s2, as the S9 steps were named 21c95f6-s9. Rust agrees with it on cli, http and mcp. Co-Authored-By: Claude Haiku 5.5 Signed-off-by: sprooty --- tests/parity/golden/21c95f6-s2/cli.json | 2866 ++++++++++++++++++++++ tests/parity/golden/21c95f6-s2/http.json | 2044 +++++++++++++++ tests/parity/golden/21c95f6-s2/mcp.json | 2573 +++++++++++++++++++ tests/parity/golden/21c95f6-s2/meta.json | 5 + tests/parity/script.json | 26 + 5 files changed, 7514 insertions(+) create mode 100644 tests/parity/golden/21c95f6-s2/cli.json create mode 100644 tests/parity/golden/21c95f6-s2/http.json create mode 100644 tests/parity/golden/21c95f6-s2/mcp.json create mode 100644 tests/parity/golden/21c95f6-s2/meta.json diff --git a/tests/parity/golden/21c95f6-s2/cli.json b/tests/parity/golden/21c95f6-s2/cli.json new file mode 100644 index 00000000..52978057 --- /dev/null +++ b/tests/parity/golden/21c95f6-s2/cli.json @@ -0,0 +1,2866 @@ +[ + { + "body": { + "declared": { + "actors": [ + { + "created_at": "2026-01-02T03:04:07+00:00", + "disabled": 0, + "display_name": "parity", + "id": "act_0001", + "identity_ref": "local:parity", + "kind": "human" + }, + { + "created_at": "2026-01-02T03:04:09+00:00", + "disabled": 0, + "display_name": "agent:vogt-engine", + "id": "act_0002", + "identity_ref": "agent:vogt-engine", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:13+00:00", + "disabled": 0, + "display_name": "agent:vogt-sessions", + "id": "act_0003", + "identity_ref": "agent:vogt-sessions", + "kind": "agent" + } + ], + "audit": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "ins_0001", + "entity_kind": "instance", + "id": "aud_0001", + "operation": "instance.init", + "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", + "reason": "instance bootstrap", + "revision": 0, + "txn_id": "txn_0001" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "entity_id": "tok_0001", + "entity_kind": "token", + "id": "aud_0002", + "operation": "token.adopt", + "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", + "reason": "adopting the operator-supplied core token at init", + "revision": 1, + "txn_id": "txn_0002" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0003", + "operation": "token.adopt", + "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", + "reason": "adopting the operator-supplied agent token at init", + "revision": 2, + "txn_id": "txn_0003" + } + ], + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" + } + ], + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "revision", + "value": "2" + }, + { + "key": "work_ref_seq", + "value": "0" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:07+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", + "id": "0002_work" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", + "id": "0003_observed_first" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", + "id": "0004_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", + "id": "0005_tokens" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", + "id": "0006_writeback" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", + "id": "0007_sessions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", + "id": "0008_superseded_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", + "id": "0009_inbox_triage" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", + "id": "0010_session_model" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", + "id": "0011_contract_adoption" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", + "id": "0012_forge_accounts" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", + "id": "0013_upstream_truth" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", + "id": "0014_native_migration" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", + "id": "0015_work_overlay_branches" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", + "id": "0016_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", + "id": "0017_password_credentials" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", + "id": "0018_actor_preferences" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", + "id": "0019_session_grants" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", + "id": "0020_install_latch" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", + "id": "0021_agent_policy" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", + "id": "0022_comment_kind" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", + "id": "0023_decisions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", + "id": "0024_session_started_by" + } + ], + "tokens": [ + { + "actor_id": "act_0002", + "created_at": "2026-01-02T03:04:11+00:00", + "expires_at": null, + "id": "tok_0001", + "kind": "api", + "last_used_at": null, + "name": "bootstrap core token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\"]", + "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" + }, + { + "actor_id": "act_0003", + "created_at": "2026-01-02T03:04:15+00:00", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", + "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" + } + ], + "workflow_defs": [ + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "feature", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "bug", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "chore", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "question", + "updated_at": "2026-01-02T03:04:05+00:00" + } + ] + }, + "observed": { + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:08+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "c050f9e4dba983119f045b8fb4ccbe8b1ee97473170eead7d28279e99468de4b", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "9cdc9c9179740af96606bab0b557c7b35639eaabc78faf16630c7705f1d368f5", + "id": "0002_evidence" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8bf0b8533774a156762fddc2e56bbb9656ba3b6bf0e38ec85a66c9dc9c325ed1", + "id": "0003_inherited_dep_refs" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8d5cffbb2acb6ff18099ad73384eaa4ea5ebca7a6f45afb79d353fb4cbbcaee6", + "id": "0004_forge_sync" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e6902e6616ab9948f9d222b2763ce9bc421a136b6acb1422240e5957683e5e45", + "id": "0005_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e0e959f4bf4f39db47d5e41ac11391d5f80a0b73bcce57d36168572062b1ab66", + "id": "0006_agent_activity" + } + ] + } + }, + "exit": 0, + "operation": "dump.after_init" + }, + { + "body": { + "clone": null, + "counts": { + "actors": 3, + "audit": 3, + "events": 2, + "initiatives": 0, + "projects": 0, + "work_items": 0 + }, + "data_dir": "", + "declared_schema_version": 24, + "disk": null, + "instance_id": "ins_0001", + "observed_schema_version": 6, + "principal": "local:parity", + "revision": 2, + "vogt_version": "0.7.17" + }, + "exit": 0, + "operation": "status" + }, + { + "body": { + "data_dir": "", + "declared_schema_expected": 24, + "declared_schema_version": 24, + "migrations_applied": [], + "observed_schema_expected": 6, + "observed_schema_version": 6 + }, + "exit": 0, + "operation": "migrate" + }, + { + "body": { + "workflows": [ + { + "initial_state": "open", + "kind": "feature", + "states": [ + "blocked", + "done", + "in_progress", + "open", + "review", + "wont_do" + ], + "transitions": { + "blocked": [ + "open", + "in_progress", + "wont_do" + ], + "done": [ + "open" + ], + "in_progress": [ + "review", + "blocked", + "open", + "wont_do" + ], + "open": [ + "in_progress", + "blocked", + "wont_do" + ], + "review": [ + "done", + "in_progress", + "blocked", + "wont_do" + ], + "wont_do": [ + "open" + ] + } + }, + { + "initial_state": "open", + "kind": "bug", + "states": [ + "blocked", + "done", + "in_progress", + "open", + "review", + "wont_do" + ], + "transitions": { + "blocked": [ + "open", + "in_progress", + "wont_do" + ], + "done": [ + "open" + ], + "in_progress": [ + "review", + "blocked", + "open", + "wont_do" + ], + "open": [ + "in_progress", + "blocked", + "wont_do" + ], + "review": [ + "done", + "in_progress", + "blocked", + "wont_do" + ], + "wont_do": [ + "open" + ] + } + }, + { + "initial_state": "open", + "kind": "chore", + "states": [ + "blocked", + "done", + "in_progress", + "open", + "review", + "wont_do" + ], + "transitions": { + "blocked": [ + "open", + "in_progress", + "wont_do" + ], + "done": [ + "open" + ], + "in_progress": [ + "review", + "blocked", + "open", + "wont_do" + ], + "open": [ + "in_progress", + "blocked", + "wont_do" + ], + "review": [ + "done", + "in_progress", + "blocked", + "wont_do" + ], + "wont_do": [ + "open" + ] + } + }, + { + "initial_state": "open", + "kind": "question", + "states": [ + "blocked", + "done", + "in_progress", + "open", + "review", + "wont_do" + ], + "transitions": { + "blocked": [ + "open", + "in_progress", + "wont_do" + ], + "done": [ + "open" + ], + "in_progress": [ + "review", + "blocked", + "open", + "wont_do" + ], + "open": [ + "in_progress", + "blocked", + "wont_do" + ], + "review": [ + "done", + "in_progress", + "blocked", + "wont_do" + ], + "wont_do": [ + "open" + ] + } + } + ] + }, + "exit": 0, + "operation": "workflow.list" + }, + { + "body": { + "actor": { + "created_at": "2026-01-02T03:04:05Z", + "disabled": false, + "display_name": "Parity Agent", + "id": "act_0004", + "identity_ref": "agent:parity", + "kind": "agent" + } + }, + "exit": 0, + "operation": "actor.create" + }, + { + "body": { + "actors": [ + { + "created_at": "2026-01-02T03:04:05Z", + "disabled": false, + "display_name": "Parity Agent", + "id": "act_0004", + "identity_ref": "agent:parity", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:09Z", + "disabled": false, + "display_name": "agent:vogt-engine", + "id": "act_0002", + "identity_ref": "agent:vogt-engine", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:13Z", + "disabled": false, + "display_name": "agent:vogt-sessions", + "id": "act_0003", + "identity_ref": "agent:vogt-sessions", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:07Z", + "disabled": false, + "display_name": "parity", + "id": "act_0001", + "identity_ref": "local:parity", + "kind": "human" + } + ] + }, + "exit": 0, + "operation": "actor.list" + }, + { + "body": { + "label": { + "color": "#d73a4a", + "created_at": "2026-01-02T03:04:05Z", + "id": "lbl_0001", + "name": "parity" + } + }, + "exit": 0, + "operation": "label.create" + }, + { + "body": { + "labels": [ + { + "color": "#d73a4a", + "created_at": "2026-01-02T03:04:05Z", + "id": "lbl_0001", + "name": "parity" + } + ] + }, + "exit": 0, + "operation": "label.list" + }, + { + "body": { + "checked_at": null, + "contract_version": "v1", + "criteria": [ + { + "applicable": true, + "detail": "directory exists", + "rule": "path.exists", + "satisfied": true, + "target": "", + "tracked": null + }, + { + "applicable": true, + "detail": "AGENTS.md is missing", + "rule": "required_file", + "satisfied": false, + "target": "AGENTS.md", + "tracked": null + }, + { + "applicable": true, + "detail": "README.md is missing", + "rule": "required_file", + "satisfied": false, + "target": "README.md", + "tracked": null + }, + { + "applicable": true, + "detail": "LICENSE is missing", + "rule": "required_file", + "satisfied": false, + "target": "LICENSE", + "tracked": null + }, + { + "applicable": true, + "detail": "docs/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "docs", + "tracked": null + }, + { + "applicable": true, + "detail": "design/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "design", + "tracked": null + }, + { + "applicable": true, + "detail": "src/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "src", + "tracked": null + } + ], + "detail": null, + "failing": [ + { + "applicable": true, + "detail": "AGENTS.md is missing", + "rule": "required_file", + "satisfied": false, + "target": "AGENTS.md", + "tracked": null + }, + { + "applicable": true, + "detail": "README.md is missing", + "rule": "required_file", + "satisfied": false, + "target": "README.md", + "tracked": null + }, + { + "applicable": true, + "detail": "LICENSE is missing", + "rule": "required_file", + "satisfied": false, + "target": "LICENSE", + "tracked": null + }, + { + "applicable": true, + "detail": "docs/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "docs", + "tracked": null + }, + { + "applicable": true, + "detail": "design/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "design", + "tracked": null + }, + { + "applicable": true, + "detail": "src/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "src", + "tracked": null + } + ], + "inapplicable": [], + "path": "", + "project": null, + "recommendations": [ + { + "instruction": "`project scaffold` writes AGENTS.md into this project without overwriting anything that is already there.", + "remedy": "scaffold", + "rule": "required_file", + "target": "AGENTS.md" + }, + { + "instruction": "`project scaffold` writes README.md into this project without overwriting anything that is already there.", + "remedy": "scaffold", + "rule": "required_file", + "target": "README.md" + }, + { + "instruction": "choose a licence for this project and write its full text to LICENSE. Vogt deliberately does not pick one: a scaffold that silently writes MIT makes that decision for the owner.", + "remedy": "judgement", + "rule": "required_file", + "target": "LICENSE" + }, + { + "instruction": "`project scaffold` writes docs/ into this project without overwriting anything that is already there.", + "remedy": "scaffold", + "rule": "required_dir", + "target": "docs" + }, + { + "instruction": "decide what this project's design record is \u2014 diagrams, mockups, exploratory notes \u2014 and put it in design/. An empty directory satisfies the letter of the criterion and none of its point, and git cannot carry one anyway.", + "remedy": "judgement", + "rule": "required_dir", + "target": "design" + }, + { + "instruction": "`project scaffold` writes src/ into this project without overwriting anything that is already there.", + "remedy": "scaffold", + "rule": "required_dir", + "target": "src" + } + ], + "recorded": false, + "status": "non_compliant" + }, + "exit": 0, + "operation": "contract.evaluate" + }, + { + "body": { + "checked_at": null, + "contract_version": "v1", + "criteria": [ + { + "applicable": true, + "detail": "the path does not exist or is not a directory, so no criterion below was evaluated \u2014 this is 'not checked', not 'does not comply'", + "rule": "path.exists", + "satisfied": false, + "target": "/does-not-exist", + "tracked": null + } + ], + "detail": null, + "failing": [ + { + "applicable": true, + "detail": "the path does not exist or is not a directory, so no criterion below was evaluated \u2014 this is 'not checked', not 'does not comply'", + "rule": "path.exists", + "satisfied": false, + "target": "/does-not-exist", + "tracked": null + } + ], + "inapplicable": [], + "path": "/does-not-exist", + "project": null, + "recommendations": [ + { + "instruction": "decide what /does-not-exist should contain for this project and add it. Nothing here can write it for you.", + "remedy": "judgement", + "rule": "path.exists", + "target": "/does-not-exist" + } + ], + "recorded": false, + "status": "not_checked" + }, + "exit": 0, + "operation": "contract.evaluate" + }, + { + "body": { + "created_paths": [ + "/proj", + "/proj/AGENTS.md", + "/proj/LICENSE", + "/proj/README.md", + "/proj/design", + "/proj/docs", + "/proj/src" + ], + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05Z", + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "incubating", + "link_state": "unlinked", + "name": "Parity", + "repo_url": null, + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "write_back": "none" + }, + "skipped_paths": [] + }, + "exit": 0, + "operation": "project.create" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05Z", + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "incubating", + "link_state": "unlinked", + "name": "Parity", + "repo_url": null, + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "write_back": "none" + } + }, + "exit": 0, + "operation": "project.get" + }, + { + "body": { + "projects": [ + { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05Z", + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "incubating", + "link_state": "unlinked", + "name": "Parity", + "repo_url": null, + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "writable": false, + "writable_reason": "not forge-linked: work.create refuses with project_not_linked. Pass local_only=true for a local record, or link (`forge link`) or publish (`forge publish`) the project.", + "write_back": "none" + } + ], + "total": 1 + }, + "exit": 0, + "operation": "project.list" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05Z", + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "incubating", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "write_back": "none" + } + }, + "exit": 0, + "operation": "project.update" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05Z", + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "write_back": "none" + } + }, + "exit": 0, + "operation": "project.transition" + }, + { + "body": { + "created": [], + "detail": "0 written, 6 already there and left exactly as they were", + "project": "parity", + "root_path": "/proj", + "skipped": [ + "/proj/AGENTS.md", + "/proj/LICENSE", + "/proj/README.md", + "/proj/design", + "/proj/docs", + "/proj/src" + ] + }, + "exit": 0, + "operation": "project.scaffold" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": null, + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0002", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Second", + "repo_url": null, + "root_path": "/second", + "slug": "second", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "write_back": "none" + } + }, + "exit": 0, + "operation": "project.register" + }, + { + "body": { + "by_kind": {}, + "by_state": {}, + "ci_status": { + "checks": 0, + "detail": "swept, but no CI checks were observed \u2014 either this project has none, or the optional forge adapter is not configured", + "earlier_failures": 0, + "failing": [], + "revision": null, + "revisions_observed": 0, + "status": "no_checks" + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "current_version": null, + "declared_version": null, + "declared_work": 0, + "dependencies": { + "detail": "`dep-refs` has not walked this project; its references are not collected, which is not the same as none", + "referenced_by": 0, + "references_out": 0, + "status": "not_collected", + "unresolved": 0 + }, + "freshness": { + "age_seconds": null, + "collectors": "", + "detail": "no collector has completed a sweep yet", + "oldest_relevant_sweep": null, + "status": "never_swept" + }, + "observed_version": null, + "observed_work": 0, + "open_bugs": 0, + "open_work": 0, + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05Z", + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "write_back": "none" + }, + "top_backlog": [], + "version_matches": null + }, + "exit": 0, + "operation": "project.brief" + }, + { + "body": { + "backlog_total_considered": 0, + "drift_present": false, + "generated_at": "2026-01-02T03:04:08Z", + "inbox_active": 0, + "inbox_active_unfiltered": 0, + "inbox_filter": null, + "projects_total": 2, + "revision": 9, + "work_total": 0 + }, + "exit": 0, + "operation": "place.metrics" + }, + { + "body": { + "configured": 0, + "detail": "deploy_lanes is not configured, so deployed versions are not collected", + "freshness": { + "age_seconds": null, + "collectors": "", + "detail": "no collector has completed a sweep yet", + "oldest_relevant_sweep": null, + "status": "never_swept" + }, + "lanes": [] + }, + "exit": 0, + "operation": "deployed.versions" + }, + { + "body": { + "initiative": { + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "id": "ini_0001", + "slug": "platform", + "state": "open", + "title": "Platform", + "updated_at": "2026-01-02T03:04:05Z", + "weight": 0 + } + }, + "exit": 0, + "operation": "initiative.create" + }, + { + "body": { + "initiatives": [ + { + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "id": "ini_0001", + "slug": "platform", + "state": "open", + "title": "Platform", + "updated_at": "2026-01-02T03:04:05Z", + "weight": 0 + } + ] + }, + "exit": 0, + "operation": "initiative.list" + }, + { + "body": { + "initiative": { + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "id": "ini_0001", + "slug": "platform", + "state": "open", + "title": "Platform work", + "updated_at": "2026-01-02T03:04:05Z", + "weight": 0 + } + }, + "exit": 0, + "operation": "initiative.update" + }, + { + "body": { + "slug": "platform", + "state": "open", + "tracking_issues": [] + }, + "exit": 0, + "operation": "initiative.publish" + }, + { + "body": null, + "exit": 1, + "operation": "initiative.publish" + }, + { + "body": { + "preferences": [] + }, + "exit": 0, + "operation": "preference.get" + }, + { + "body": { + "preference": { + "key": "inbox.filter", + "updated_at": "2026-01-02T03:04:05Z", + "value": { + "actor": "any", + "sources": [ + "ci" + ], + "triage_states": [ + "active" + ] + }, + "version": 1 + } + }, + "exit": 0, + "operation": "preference.set" + }, + { + "body": null, + "exit": 1, + "operation": "preference.set" + }, + { + "body": { + "by_reason": {}, + "detail": "nothing collected \u2014 either there is nothing to say, or the configured token cannot read notifications; `coverage` distinguishes the two", + "freshness": { + "age_seconds": null, + "collectors": "", + "detail": "no collector has completed a sweep yet", + "oldest_relevant_sweep": null, + "status": "never_swept" + }, + "notifications": [], + "scope": "the GitHub account whose token this instance is configured with; notifications are instance-scoped, not per-actor", + "total": 0, + "unread": 0 + }, + "exit": 0, + "operation": "notifications" + }, + { + "body": { + "actor_unknown_hidden": 0, + "counts": { + "active": 0, + "archived": 0, + "snoozed": 0 + }, + "coverage": { + "agent": { + "count": 0, + "detail": "no session engine is configured", + "observed_at": null, + "projects": 0, + "registered": 2, + "source": "agent", + "status": "unconfigured" + }, + "ci": { + "count": 0, + "detail": "this collector has not completed a sweep", + "observed_at": null, + "projects": 0, + "registered": 2, + "source": "ci", + "status": "unswept" + }, + "drift": { + "count": 0, + "detail": "open proposals in the declared store", + "observed_at": null, + "projects": 0, + "registered": 2, + "source": "drift", + "status": "current" + }, + "github": { + "count": 0, + "detail": "this collector has not completed a sweep", + "observed_at": null, + "projects": 0, + "registered": 2, + "source": "github", + "status": "unswept" + } + }, + "engine_available": false, + "engine_detail": "no session engine is configured", + "engine_status": "not_configured", + "entries": [], + "github_scope": "registered projects only", + "high_water": { + "agent": null, + "ci": null, + "drift": null, + "github": null + }, + "instance_scope": "registered projects only", + "next_cursor": null, + "snapshot_at": "2026-01-02T03:04:05Z" + }, + "exit": 0, + "operation": "inbox.list" + }, + { + "body": null, + "exit": 1, + "operation": "inbox.archive" + }, + { + "body": null, + "exit": 1, + "operation": "inbox.snooze" + }, + { + "body": null, + "exit": 1, + "operation": "inbox.restore" + }, + { + "body": { + "branches": [], + "comments": [], + "git": null, + "item": { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0001", + "initiative_id": null, + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p2", + "project_id": null, + "project_slug": null, + "ref": "WI-1", + "relations": [], + "state": "open", + "superseded_by": null, + "title": "parity item", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "exit": 0, + "operation": "work.create" + }, + { + "body": { + "branches": [], + "comments": [], + "git": null, + "item": { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0001", + "initiative_id": null, + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "project_id": null, + "project_slug": null, + "ref": "WI-1", + "relations": [], + "state": "open", + "superseded_by": null, + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "exit": 0, + "operation": "work.update" + }, + { + "body": { + "branches": [], + "comments": [], + "git": null, + "item": { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0002", + "initiative_id": null, + "kind": "chore", + "labels": [ + "parity" + ], + "origin": "created", + "priority": "p2", + "project_id": null, + "project_slug": null, + "ref": "WI-2", + "relations": [], + "state": "open", + "superseded_by": null, + "title": "labelled item", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "exit": 0, + "operation": "work.create" + }, + { + "body": null, + "exit": 1, + "operation": "work.create" + }, + { + "body": { + "detail": null, + "items": [ + { + "kind": "chore", + "priority": "p1", + "project_slug": null, + "ref": "WI-1", + "state": "open", + "title": "parity item renamed" + }, + { + "kind": "chore", + "priority": "p2", + "project_slug": null, + "ref": "WI-2", + "state": "open", + "title": "labelled item" + } + ], + "link_state": null, + "mode": "summary", + "next_offset": null, + "total": 2 + }, + "exit": 0, + "operation": "work.list" + }, + { + "body": null, + "exit": 1, + "operation": "work.list" + }, + { + "body": { + "branches": [], + "comments": [], + "git": null, + "item": { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0001", + "initiative_id": null, + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "project_id": null, + "project_slug": null, + "ref": "WI-1", + "relations": [], + "state": "open", + "superseded_by": null, + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "exit": 0, + "operation": "work.get" + }, + { + "body": { + "comment": { + "actor_display_name": "parity", + "actor_id": "act_0001", + "body": "parity note", + "created_at": "2026-01-02T03:04:05Z", + "handoff": null, + "id": "cmt_0001", + "kind": "note", + "work_item_id": "wrk_0001" + }, + "write_back": "skipped" + }, + "exit": 0, + "operation": "work.comment" + }, + { + "body": { + "branches": [], + "comments": [], + "git": null, + "item": { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0001", + "initiative_id": null, + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "project_id": null, + "project_slug": null, + "ref": "WI-1", + "relations": [], + "state": "in_progress", + "superseded_by": null, + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "exit": 0, + "operation": "work.transition" + }, + { + "body": { + "branches": [], + "comments": [], + "git": null, + "item": { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0001", + "initiative_id": null, + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "project_id": null, + "project_slug": null, + "ref": "WI-1", + "relations": [ + { + "kind": "relates_to", + "related_id": "wrk_0002", + "related_ref": "WI-2", + "related_state": "open", + "related_title": "labelled item" + } + ], + "state": "in_progress", + "superseded_by": null, + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "exit": 0, + "operation": "work.relate" + }, + { + "body": { + "branches": [], + "comments": [], + "git": null, + "item": { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0001", + "initiative_id": null, + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "project_id": null, + "project_slug": null, + "ref": "WI-1", + "relations": [], + "state": "in_progress", + "superseded_by": null, + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "exit": 0, + "operation": "work.unrelate" + }, + { + "body": { + "backlog_candidates": 2, + "cells": [ + { + "items": [ + { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0002", + "initiative_id": null, + "kind": "chore", + "labels": [ + "parity" + ], + "origin": "created", + "priority": "p2", + "project_id": null, + "project_slug": null, + "ref": "WI-2", + "relations": [], + "state": "open", + "superseded_by": null, + "title": "labelled item", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + } + ], + "lane_key": "", + "next_cursor": null, + "state": "open", + "total": 1 + } + ], + "column_totals": { + "in_progress": 1, + "open": 1 + }, + "declared_total": 2, + "excluded_unlinked": 0, + "lane_totals": { + "": 2 + }, + "link_state": null, + "revision": 20, + "snapshot": "eyJmaW5nZXJwcmludCI6InNoYTI1Njo2N2JkMGQ3MTUxN2JlYThkM2VkNmJjYWE0ZTFmZTY2YzYyNTM5MGRkNjg2ODI3MjM1Njk4MTUxMDg2ZDc0MDYzIiwiaGlnaF93YXRlciI6WyIyMDI2LTAxLTAyVDAzOjA0OjA1KzAwOjAwIiwiV0ktMiJdLCJraW5kIjoic25hcHNob3QiLCJyZXZpc2lvbiI6MjAsInNuYXBzaG90X2F0IjoiMjAyNi0wMS0wMlQwMzowNDowNSswMDowMCJ9", + "snapshot_at": "2026-01-02T03:04:05Z", + "total": 2 + }, + "exit": 0, + "operation": "board.list" + }, + { + "body": { + "closed_upstream": 0, + "declared": 2, + "excluded_unlinked": 0, + "freshness": { + "age_seconds": null, + "collectors": "", + "detail": "no collector has completed a sweep yet", + "oldest_relevant_sweep": null, + "status": "never_swept" + }, + "items": [ + { + "adopted_as": null, + "classified": true, + "item": null, + "kind": "chore", + "labels": [], + "observation_kind": null, + "observed_at": null, + "origin": "declared", + "priority": "p1", + "project_slug": null, + "ref": "WI-1", + "score": 52.0, + "source_url": null, + "state": "in_progress", + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + }, + { + "adopted_as": null, + "classified": true, + "item": null, + "kind": "chore", + "labels": [ + "parity" + ], + "observation_kind": null, + "observed_at": null, + "origin": "declared", + "priority": "p2", + "project_slug": null, + "ref": "WI-2", + "score": 22.0, + "source_url": null, + "state": "open", + "title": "labelled item", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + } + ], + "link_state": null, + "next_offset": null, + "observed": 0, + "scope": "global", + "suppressed": 0, + "total_considered": 2 + }, + "exit": 0, + "operation": "backlog" + }, + { + "body": null, + "exit": 1, + "operation": "backlog" + }, + { + "body": { + "closed_upstream": 0, + "declared": 0, + "excluded_unlinked": 0, + "freshness": { + "age_seconds": null, + "collectors": "", + "detail": "no collector has completed a sweep yet", + "oldest_relevant_sweep": null, + "status": "never_swept" + }, + "items": [], + "link_state": null, + "next_offset": null, + "observed": 0, + "scope": "global", + "suppressed": 0, + "total_considered": 0 + }, + "exit": 0, + "operation": "bugs" + }, + { + "body": null, + "exit": 1, + "operation": "bugs" + }, + { + "body": null, + "exit": 1, + "operation": "deps" + }, + { + "body": { + "comments": 1, + "export_format_version": 2, + "path": "/export.json", + "project": null, + "projects": 2, + "work_items": 2 + }, + "exit": 0, + "operation": "export" + }, + { + "body": { + "applied": false, + "base": "2026-01-02T03:04:05Z", + "base_source": "an export of this same instance: its exported_at", + "by_entity": { + "actor": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 4, + "updated": 0 + }, + "comment": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 1, + "updated": 0 + }, + "initiative": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 1, + "updated": 0 + }, + "label": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 1, + "updated": 0 + }, + "project": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 2, + "updated": 0 + }, + "work_item": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 2, + "updated": 0 + } + }, + "changes": [], + "conflicted": 0, + "created": 0, + "detail": "Dry run: nothing was written. Pass --apply --confirm to merge.", + "export_format_version": 2, + "instance_id": "ins_0001", + "project": null, + "projects": 2, + "skipped": 0, + "source": "/export.json", + "unchanged": 11, + "updated": 0, + "work_items": 2 + }, + "exit": 0, + "operation": "import" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05Z", + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "write_back": "full" + } + }, + "exit": 0, + "operation": "forge.writeback" + }, + { + "body": { + "actions": [ + { + "action": "comment", + "at": "2026-01-02T03:04:06Z", + "detail": "write-back is off for this project", + "id": "wbk_0001", + "outcome": "skipped", + "policy": "none", + "reason": "parity", + "source_url": null, + "subject_key": null + } + ] + }, + "exit": 0, + "operation": "forge.actions" + }, + { + "body": { + "actions": [ + { + "action": "comment", + "at": "2026-01-02T03:04:06Z", + "detail": "write-back is off for this project", + "id": "wbk_0001", + "outcome": "skipped", + "policy": "none", + "reason": "parity", + "source_url": null, + "subject_key": null + } + ] + }, + "exit": 0, + "operation": "forge.actions" + }, + { + "body": null, + "exit": 1, + "operation": "forge.repos" + }, + { + "body": { + "accounts": [] + }, + "exit": 0, + "operation": "forge.account_status" + }, + { + "body": null, + "exit": 1, + "operation": "forge.account_link" + }, + { + "body": { + "contributions": [ + { + "contribution": 55.0, + "detail": "p1", + "input": "priority", + "value": 1.0, + "weight": 55.0 + }, + { + "contribution": 0.0, + "detail": "0.0 days since last change", + "input": "staleness", + "value": 0.0, + "weight": 0.5 + }, + { + "contribution": 0.0, + "detail": "0 item(s) depend on this one", + "input": "blocking_fan_out", + "value": 0.0, + "weight": 8.0 + }, + { + "contribution": 0.0, + "detail": "no initiative", + "input": "initiative_weight", + "value": 0.0, + "weight": 0.25 + }, + { + "contribution": -3.0, + "detail": "trust state unverified", + "input": "trust_penalty", + "value": 1.0, + "weight": -3.0 + }, + { + "contribution": 0.0, + "detail": "no open pull request", + "input": "open_pr", + "value": 0.0, + "weight": 12.0 + }, + { + "contribution": 0.0, + "detail": "no branch observed", + "input": "branch_activity", + "value": 0.0, + "weight": 8.0 + } + ], + "inputs_not_yet_available": { + "ci_red_boost": "arrives with the CI check observations it reads" + }, + "ref": "WI-1", + "title": "parity item renamed", + "total": 52.0 + }, + "exit": 0, + "operation": "why" + }, + { + "body": null, + "exit": 1, + "operation": "why" + }, + { + "body": { + "detail": null, + "items": [ + { + "assignee_actor_id": null, + "assignee_identity_ref": null, + "body": "", + "created_at": "2026-01-02T03:04:05Z", + "effort": null, + "id": "wrk_0001", + "initiative_id": null, + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "project_id": null, + "project_slug": null, + "ref": "WI-1", + "relations": [], + "state": "in_progress", + "superseded_by": null, + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z" + } + ], + "link_state": null, + "mode": "full", + "next_offset": 1, + "total": 2 + }, + "exit": 0, + "operation": "work.list" + }, + { + "body": { + "detail": null, + "items": [ + { + "kind": "chore", + "priority": "p2", + "project_slug": null, + "ref": "WI-2", + "state": "open", + "title": "labelled item" + } + ], + "link_state": null, + "mode": "summary", + "next_offset": null, + "total": 2 + }, + "exit": 0, + "operation": "work.list" + }, + { + "body": { + "items": [ + { + "kind": "chore", + "priority": "p1", + "project_slug": null, + "ref": "WI-1", + "state": "in_progress", + "title": "parity item renamed" + }, + { + "kind": "chore", + "priority": "p2", + "project_slug": null, + "ref": "WI-2", + "state": "open", + "title": "labelled item" + } + ], + "missing": [ + "WI-404" + ] + }, + "exit": 0, + "operation": "work.get_many" + }, + { + "body": { + "records": [ + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0022", + "operation": "project.writeback", + "payload_digest": "sha256:5160587a6bd4fd6e1c8cfdfbe9e7b71a0aff7cb411b75e8ad277bea16adfdf65", + "reason": "parity harness", + "revision": 21, + "txn_id": "txn_0023" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:05Z", + "entity_id": "wrk_0001", + "entity_kind": "work_item", + "id": "aud_0021", + "operation": "work.unrelate", + "payload_digest": "sha256:919ba7f4a526f308300142a25947bcafa3b9df9267bbef6a486125710e1f95b4", + "reason": "parity", + "revision": 20, + "txn_id": "txn_0022" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "wrk_0001", + "entity_kind": "work_item", + "id": "aud_0020", + "operation": "work.relate", + "payload_digest": "sha256:919ba7f4a526f308300142a25947bcafa3b9df9267bbef6a486125710e1f95b4", + "reason": "parity", + "revision": 19, + "txn_id": "txn_0021" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "wrk_0001", + "entity_kind": "work_item", + "id": "aud_0019", + "operation": "work.transition", + "payload_digest": "sha256:e29def8eb3987143cc71db472521260af60e6205bd7f2d4cb0cad1c34d95484e", + "reason": "parity", + "revision": 18, + "txn_id": "txn_0020" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:07Z", + "entity_id": "cmt_0001", + "entity_kind": "comment", + "id": "aud_0018", + "operation": "work.comment", + "payload_digest": "sha256:c0759a6538411595d62b368f304a00fa97626be794ec4750d566dfebaf313e68", + "reason": "parity", + "revision": 17, + "txn_id": "txn_0019" + } + ], + "total": 22 + }, + "exit": 0, + "operation": "audit.list" + }, + { + "body": null, + "exit": 1, + "operation": "work.bind_branch" + }, + { + "body": null, + "exit": 1, + "operation": "work.adopt" + }, + { + "body": { + "digests": [], + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "hidden_count": 0, + "sessions": [], + "total": 0, + "truncated": false + }, + "exit": 0, + "operation": "session.list" + }, + { + "body": { + "counts": { + "needs_you": 0, + "total": 0 + }, + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "rows": [], + "swept_at": "2026-01-02T03:04:05Z" + }, + "exit": 0, + "operation": "session.sweep" + }, + { + "body": { + "bytes": 0, + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "session_id": null, + "text": "", + "total_bytes": 0, + "truncated": false + }, + "exit": 0, + "operation": "session.log_tail" + }, + { + "body": null, + "exit": 1, + "operation": "session.start" + }, + { + "body": null, + "exit": 1, + "operation": "session.input" + }, + { + "body": null, + "exit": 1, + "operation": "session.screen" + }, + { + "body": null, + "exit": 1, + "operation": "session.wait" + }, + { + "body": null, + "exit": 1, + "operation": "session.answer" + }, + { + "body": null, + "exit": 1, + "operation": "session.hibernate" + }, + { + "body": null, + "exit": 1, + "operation": "session.keep_awake" + }, + { + "body": null, + "exit": 1, + "operation": "session.set_role" + }, + { + "body": null, + "exit": 1, + "operation": "session.wake" + }, + { + "body": null, + "exit": 1, + "operation": "session.stop" + }, + { + "body": null, + "error": "error: engine_unavailable: no session engine is configured, and chats run on it (set VOGT_ENGINE_URL)", + "exit": 1, + "operation": "chat.list" + }, + { + "body": null, + "error": "error: invalid_request: 'nope' is not a chat id (a UUID, from chat.list or chat.create)", + "exit": 1, + "operation": "chat.get" + }, + { + "body": { + "user": { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:04:05Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:04:05Z", + "username": "ada" + } + }, + "exit": 0, + "operation": "user.create" + }, + { + "body": { + "users": [ + { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:04:05Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:04:05Z", + "username": "ada" + } + ] + }, + "exit": 0, + "operation": "user.list" + }, + { + "body": { + "user": { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:04:05Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:04:05Z", + "username": "ada" + } + }, + "exit": 0, + "operation": "user.set_password" + }, + { + "body": { + "tokens": [ + { + "actor_id": "act_0003", + "actor_identity_ref": "agent:vogt-sessions", + "created_at": "2026-01-02T03:04:15Z", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + }, + { + "actor_id": "act_0002", + "actor_identity_ref": "agent:vogt-engine", + "created_at": "2026-01-02T03:04:11Z", + "expires_at": null, + "id": "tok_0001", + "kind": "api", + "last_used_at": null, + "name": "bootstrap core token", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "read", + "work.write", + "project.write" + ] + } + ] + }, + "exit": 0, + "operation": "token.list" + }, + { + "body": { + "token": { + "actor_id": "act_0003", + "actor_identity_ref": "agent:vogt-sessions", + "created_at": "2026-01-02T03:04:15Z", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": "2026-01-02T03:04:05Z", + "revoked_reason": "parity harness", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + "exit": 0, + "operation": "token.revoke" + }, + { + "body": { + "display_name": "parity", + "identity_ref": "local:parity", + "kind": "human", + "scopes": [ + "admin", + "project.write", + "read", + "work.write", + "writeback" + ], + "token": null + }, + "exit": 0, + "operation": "auth.whoami" + }, + { + "body": { + "declared_schema_version": 24, + "engine_state": "not configured", + "import_root": "/instance/repos", + "instance_id": "ins_0001", + "observed_schema_version": 6, + "path": "/backup", + "taken_at": "2026-01-02T03:04:05Z" + }, + "exit": 0, + "operation": "backup" + }, + { + "body": { + "declared_schema_version": 24, + "engine_state": "not in this backup", + "import_root_now": "/instance/repos", + "import_root_then": "/instance/repos", + "instance_id": "ins_0001", + "migrations_applied": [], + "restored_from": "2026-01-02T03:04:05Z", + "source": "/backup" + }, + "exit": 0, + "operation": "restore" + }, + { + "body": { + "sessions_revoked": 0, + "username": "ada" + }, + "exit": 0, + "operation": "user.remove" + }, + { + "body": { + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12Z", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": { + "actor": "agent:vogt-engine", + "scopes": [ + "read", + "work.write", + "project.write" + ] + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16Z", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": { + "actor": "agent:vogt-sessions", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06Z", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.created", + "seq": 3, + "summary": { + "identity_ref": "agent:parity", + "kind": "agent" + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06Z", + "audit_id": "aud_0005", + "entity_id": "lbl_0001", + "entity_kind": "label", + "kind": "label.created", + "seq": 4, + "summary": { + "name": "parity" + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06Z", + "audit_id": "aud_0006", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.registered", + "seq": 5, + "summary": { + "name": "Parity", + "slug": "parity" + } + } + ], + "next_cursor": 5 + }, + "exit": 0, + "operation": "events.list" + }, + { + "body": { + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16Z", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": { + "actor": "agent:vogt-sessions", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06Z", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.created", + "seq": 3, + "summary": { + "identity_ref": "agent:parity", + "kind": "agent" + } + } + ], + "next_cursor": 3 + }, + "exit": 0, + "operation": "events.list" + }, + { + "body": { + "records": [ + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0026", + "operation": "user.remove", + "payload_digest": "sha256:6cb1b570d1a756565af0191ec35d1fed1dc103ed9b82afa000b68a0172b6f711", + "reason": "parity harness", + "revision": 25, + "txn_id": "txn_0029" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0025", + "operation": "token.revoke", + "payload_digest": "sha256:5b5962b852bf72720c110fabfda9bea2589305bb33f47f25d1361ce815fa78c9", + "reason": "parity harness", + "revision": 24, + "txn_id": "txn_0027" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0024", + "operation": "user.set_password", + "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", + "reason": "parity harness", + "revision": 23, + "txn_id": "txn_0026" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0023", + "operation": "user.create", + "payload_digest": "sha256:67e02676f1f6d286e8b3624b34c5496ed548e0ac92c3485f85c350f4c54dcce7", + "reason": "parity harness", + "revision": 22, + "txn_id": "txn_0025" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0022", + "operation": "project.writeback", + "payload_digest": "sha256:5160587a6bd4fd6e1c8cfdfbe9e7b71a0aff7cb411b75e8ad277bea16adfdf65", + "reason": "parity harness", + "revision": 21, + "txn_id": "txn_0023" + } + ], + "total": 26 + }, + "exit": 0, + "operation": "audit.list" + }, + { + "body": { + "records": [ + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0025", + "operation": "token.revoke", + "payload_digest": "sha256:5b5962b852bf72720c110fabfda9bea2589305bb33f47f25d1361ce815fa78c9", + "reason": "parity harness", + "revision": 24, + "txn_id": "txn_0027" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:06Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0024", + "operation": "user.set_password", + "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", + "reason": "parity harness", + "revision": 23, + "txn_id": "txn_0026" + } + ], + "total": 26 + }, + "exit": 0, + "operation": "audit.list" + }, + { + "body": null, + "exit": 1, + "operation": "clone" + }, + { + "body": null, + "exit": 1, + "operation": "clone" + }, + { + "body": null, + "exit": 1, + "operation": "clone" + }, + { + "body": null, + "exit": 1, + "operation": "project.import" + }, + { + "body": null, + "exit": 1, + "operation": "project.import" + } +] diff --git a/tests/parity/golden/21c95f6-s2/http.json b/tests/parity/golden/21c95f6-s2/http.json new file mode 100644 index 00000000..f8b73a74 --- /dev/null +++ b/tests/parity/golden/21c95f6-s2/http.json @@ -0,0 +1,2044 @@ +[ + { + "operation": "http.health.live", + "result": { + "status": "ok", + "version": "" + }, + "status": 200 + }, + { + "operation": "http.health.ready", + "result": { + "declared_schema_expected": 24, + "declared_schema_version": 24, + "detail": null, + "instance_id": "ins_0001", + "observed_schema_expected": 6, + "observed_schema_version": 6, + "status": "ready" + }, + "status": 200 + }, + { + "operation": "http.version", + "result": { + "name": "vogt", + "version": "" + }, + "status": 200 + }, + { + "operation": "http.connection_info", + "result": { + "api_path": "/api", + "authentication": "bearer token", + "health_path": "/health/ready", + "mcp_path": "/mcp", + "name": "vogt", + "supported_mcp_protocol_versions": [ + "2025-06-18", + "2025-03-26", + "2024-11-05" + ], + "url": null, + "version": "", + "writes_enabled": true + }, + "status": 200 + }, + { + "operation": "install.bootstrap", + "result": { + "actor": { + "created_at": "2026-01-02T03:04:06Z", + "disabled": false, + "display_name": "Ada Lovelace", + "id": "act_0004", + "identity_ref": "human:ada-lovelace", + "kind": "human" + }, + "secret": "", + "token": { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "created_at": "2026-01-02T03:04:05Z", + "expires_at": null, + "id": "tok_0003", + "kind": "api", + "last_used_at": null, + "name": "first-run browser token", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "admin" + ] + }, + "username": null, + "warning": "This is the only time the secret is shown. It is not stored and cannot be recovered \u2014 losing it means issuing another over the loopback surface." + }, + "status": 200 + }, + { + "operation": "why", + "result": { + "error": { + "code": "not_found", + "message": "no work item or observed subject 'WI-1'" + } + }, + "status": 404 + }, + { + "operation": "why", + "result": { + "error": { + "code": "not_found", + "message": "no work item or observed subject 'WI-404'" + } + }, + "status": 404 + }, + { + "operation": "work.list", + "result": { + "detail": null, + "items": [], + "link_state": null, + "mode": "full", + "next_offset": null, + "total": 0 + }, + "status": 200 + }, + { + "operation": "work.list", + "result": { + "detail": null, + "items": [], + "link_state": null, + "mode": "summary", + "next_offset": null, + "total": 0 + }, + "status": 200 + }, + { + "operation": "work.get_many", + "result": { + "items": [], + "missing": [ + "WI-1", + "WI-404", + "WI-2" + ] + }, + "status": 200 + }, + { + "operation": "audit.list", + "result": { + "records": [ + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "at": "2026-01-02T03:04:07Z", + "entity_id": "tok_0003", + "entity_kind": "token", + "id": "aud_0005", + "operation": "install.bootstrap", + "payload_digest": "sha256:b19d0ae7d972de7a7d247d64fc4db90184619cd1db18a41a4d0e6b2a31a72d32", + "reason": "first-run install bootstrap for human:ada-lovelace", + "revision": 3, + "txn_id": "txn_0004" + }, + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "at": "2026-01-02T03:04:06Z", + "entity_id": "act_0004", + "entity_kind": "actor", + "id": "aud_0004", + "operation": "actor.auto_register", + "payload_digest": "sha256:87af525aec71a14661415e1c50dcf914634e2707473b601ae5fe8254bca3cf4d", + "reason": "first authenticated use by human:ada-lovelace; auto-registered so the write it accompanies can be attributed", + "revision": 3, + "txn_id": "txn_0004" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:16Z", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0003", + "operation": "token.adopt", + "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", + "reason": "adopting the operator-supplied agent token at init", + "revision": 2, + "txn_id": "txn_0003" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:12Z", + "entity_id": "tok_0001", + "entity_kind": "token", + "id": "aud_0002", + "operation": "token.adopt", + "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", + "reason": "adopting the operator-supplied core token at init", + "revision": 1, + "txn_id": "txn_0002" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:07Z", + "entity_id": "ins_0001", + "entity_kind": "instance", + "id": "aud_0001", + "operation": "instance.init", + "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", + "reason": "instance bootstrap", + "revision": 0, + "txn_id": "txn_0001" + } + ], + "total": 5 + }, + "status": 200 + }, + { + "operation": "work.bind_branch", + "result": { + "error": { + "code": "not_found", + "message": "no work item 'WI-1'" + } + }, + "status": 404 + }, + { + "operation": "work.adopt", + "result": { + "error": { + "code": "not_found", + "message": "no observed subject 'gh:parity-org/parity#404'" + } + }, + "status": 404 + }, + { + "operation": "session.list", + "result": { + "digests": [], + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "hidden_count": 0, + "sessions": [], + "total": 0, + "truncated": false + }, + "status": 200 + }, + { + "operation": "session.sweep", + "result": { + "counts": { + "needs_you": 0, + "total": 0 + }, + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "rows": [], + "swept_at": "2026-01-02T03:04:06Z" + }, + "status": 200 + }, + { + "operation": "session.log_tail", + "result": { + "bytes": 0, + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "session_id": null, + "text": "", + "total_bytes": 0, + "truncated": false + }, + "status": 200 + }, + { + "operation": "session.start", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.input", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.screen", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.wait", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.answer", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.hibernate", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.keep_awake", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.set_role", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.wake", + "result": { + "error": { + "code": "engine_unavailable", + "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + } + }, + "status": 502 + }, + { + "operation": "session.stop", + "result": { + "error": { + "code": "not_found", + "message": "no session 'ses_00000000000000000000000000'" + } + }, + "status": 404 + }, + { + "operation": "label.create", + "result": { + "label": { + "color": null, + "created_at": "2026-01-02T03:04:06Z", + "id": "lbl_0001", + "name": "bug" + } + }, + "status": 200 + }, + { + "operation": "token.issue", + "result": { + "secret": "", + "token": { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "created_at": "2026-01-02T03:04:06Z", + "expires_at": null, + "id": "tok_0004", + "kind": "api", + "last_used_at": null, + "name": "reader", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "read" + ] + }, + "warning": "This is the only time the secret is shown. Store it in a file and point VOGT_TOKEN_FILE at it \u2014 never in argv or a URL." + }, + "status": 200 + }, + { + "operation": "label.create", + "result": { + "error": { + "code": "forbidden", + "message": "label.create requires the 'work.write' scope; this token holds read" + } + }, + "status": 403 + }, + { + "operation": "auth.logout", + "result": { + "revoked": true, + "token": { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "created_at": "2026-01-02T03:04:06Z", + "expires_at": null, + "id": "tok_0004", + "kind": "api", + "last_used_at": "2026-01-02T03:04:06Z", + "name": "reader", + "revoked_at": "2026-01-02T03:04:06Z", + "revoked_reason": "done", + "scopes": [ + "read" + ] + } + }, + "status": 200 + }, + { + "operation": "user.create", + "result": { + "user": { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:04:06Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:04:06Z", + "username": "ada" + } + }, + "status": 200 + }, + { + "operation": "user.list", + "result": { + "users": [ + { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:04:06Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:04:06Z", + "username": "ada" + } + ] + }, + "status": 200 + }, + { + "operation": "user.set_password", + "result": { + "user": { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:04:06Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:04:06Z", + "username": "ada" + } + }, + "status": 200 + }, + { + "operation": "token.list", + "result": { + "tokens": [ + { + "actor_id": "act_0003", + "actor_identity_ref": "agent:vogt-sessions", + "created_at": "2026-01-02T03:04:15Z", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + }, + { + "actor_id": "act_0002", + "actor_identity_ref": "agent:vogt-engine", + "created_at": "2026-01-02T03:04:11Z", + "expires_at": null, + "id": "tok_0001", + "kind": "api", + "last_used_at": null, + "name": "bootstrap core token", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "read", + "work.write", + "project.write" + ] + }, + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "created_at": "2026-01-02T03:04:06Z", + "expires_at": null, + "id": "tok_0004", + "kind": "api", + "last_used_at": "2026-01-02T03:04:06Z", + "name": "reader", + "revoked_at": "2026-01-02T03:04:06Z", + "revoked_reason": "done", + "scopes": [ + "read" + ] + }, + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "created_at": "2026-01-02T03:04:05Z", + "expires_at": null, + "id": "tok_0003", + "kind": "api", + "last_used_at": "2026-01-02T03:04:06Z", + "name": "first-run browser token", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "admin" + ] + } + ] + }, + "status": 200 + }, + { + "operation": "token.revoke", + "result": { + "token": { + "actor_id": "act_0003", + "actor_identity_ref": "agent:vogt-sessions", + "created_at": "2026-01-02T03:04:15Z", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": "2026-01-02T03:04:06Z", + "revoked_reason": "parity harness", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + "status": 200 + }, + { + "operation": "auth.whoami", + "result": { + "display_name": "Ada Lovelace", + "identity_ref": "human:ada-lovelace", + "kind": "human", + "scopes": [ + "admin", + "project.write", + "read", + "work.write", + "writeback" + ], + "token": { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "created_at": "2026-01-02T03:04:05Z", + "expires_at": null, + "id": "tok_0003", + "kind": "api", + "last_used_at": "2026-01-02T03:04:06Z", + "name": "first-run browser token", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "admin" + ] + } + }, + "status": 200 + }, + { + "operation": "auth.login", + "result": { + "actor": { + "created_at": "2026-01-02T03:04:06Z", + "disabled": false, + "display_name": "Ada Lovelace", + "id": "act_0005", + "identity_ref": "human:ada", + "kind": "human" + }, + "secret": "", + "token": { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:04:05Z", + "expires_at": "2026-02-01T03:04:05Z", + "id": "tok_0005", + "kind": "session", + "last_used_at": null, + "name": "browser session", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "read", + "work.write", + "project.write" + ] + } + }, + "status": 200 + }, + { + "operation": "auth.whoami", + "result": { + "display_name": "Ada Lovelace", + "identity_ref": "human:ada", + "kind": "human", + "scopes": [ + "project.write", + "read", + "work.write" + ], + "token": { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:04:05Z", + "expires_at": "2026-02-01T03:04:05Z", + "id": "tok_0005", + "kind": "session", + "last_used_at": null, + "name": "browser session", + "revoked_at": null, + "revoked_reason": null, + "scopes": [ + "read", + "work.write", + "project.write" + ] + } + }, + "status": 200 + }, + { + "operation": "user.remove", + "result": { + "sessions_revoked": 1, + "username": "ada" + }, + "status": 200 + }, + { + "operation": "events.list", + "result": { + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12Z", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": { + "actor": "agent:vogt-engine", + "scopes": [ + "read", + "work.write", + "project.write" + ] + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16Z", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": { + "actor": "agent:vogt-sessions", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:06Z", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.auto_register", + "seq": 3, + "summary": { + "identity_ref": "human:ada-lovelace", + "kind": "human" + } + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07Z", + "audit_id": "aud_0005", + "entity_id": "tok_0003", + "entity_kind": "token", + "kind": "install.bootstrapped", + "seq": 4, + "summary": { + "actor": "human:ada-lovelace", + "scopes": [ + "admin" + ] + } + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07Z", + "audit_id": "aud_0006", + "entity_id": "lbl_0001", + "entity_kind": "label", + "kind": "label.created", + "seq": 5, + "summary": { + "name": "bug" + } + } + ], + "next_cursor": 5 + }, + "status": 200 + }, + { + "operation": "events.list", + "result": { + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16Z", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": { + "actor": "agent:vogt-sessions", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:06Z", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.auto_register", + "seq": 3, + "summary": { + "identity_ref": "human:ada-lovelace", + "kind": "human" + } + } + ], + "next_cursor": 3 + }, + "status": 200 + }, + { + "operation": "audit.list", + "result": { + "records": [ + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "at": "2026-01-02T03:04:07Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0013", + "operation": "user.remove", + "payload_digest": "sha256:c641563a061b879b4b32211c6b39a7a2eeb71a7a114359133e079bc16f1b4bfa", + "reason": "parity harness", + "revision": 11, + "txn_id": "txn_0013" + }, + { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "at": "2026-01-02T03:04:06Z", + "entity_id": "tok_0005", + "entity_kind": "token", + "id": "aud_0012", + "operation": "auth.login", + "payload_digest": "sha256:079f75e3b73e507a9203394b2f453386de6362973c6d3e9dfa6ddfee0201f931", + "reason": "password login by ada", + "revision": 10, + "txn_id": "txn_0012" + }, + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "at": "2026-01-02T03:04:07Z", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0011", + "operation": "token.revoke", + "payload_digest": "sha256:d331a6f9ffa337f5bbea02b91117f85c4a54fe0e8550538ef0ccbe9757a74c7a", + "reason": "parity harness", + "revision": 9, + "txn_id": "txn_0011" + }, + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "at": "2026-01-02T03:04:07Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0010", + "operation": "user.set_password", + "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", + "reason": "parity harness", + "revision": 8, + "txn_id": "txn_0010" + }, + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "at": "2026-01-02T03:04:07Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0009", + "operation": "user.create", + "payload_digest": "sha256:67e02676f1f6d286e8b3624b34c5496ed548e0ac92c3485f85c350f4c54dcce7", + "reason": "parity harness", + "revision": 7, + "txn_id": "txn_0009" + } + ], + "total": 13 + }, + "status": 200 + }, + { + "operation": "audit.list", + "result": { + "records": [ + { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "at": "2026-01-02T03:04:06Z", + "entity_id": "tok_0005", + "entity_kind": "token", + "id": "aud_0012", + "operation": "auth.login", + "payload_digest": "sha256:079f75e3b73e507a9203394b2f453386de6362973c6d3e9dfa6ddfee0201f931", + "reason": "password login by ada", + "revision": 10, + "txn_id": "txn_0012" + }, + { + "actor_id": "act_0004", + "actor_identity_ref": "human:ada-lovelace", + "at": "2026-01-02T03:04:07Z", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0011", + "operation": "token.revoke", + "payload_digest": "sha256:d331a6f9ffa337f5bbea02b91117f85c4a54fe0e8550538ef0ccbe9757a74c7a", + "reason": "parity harness", + "revision": 9, + "txn_id": "txn_0011" + } + ], + "total": 13 + }, + "status": 200 + }, + { + "operation": "project.import", + "result": { + "error": { + "code": "invalid_request", + "message": "'not a repo!' does not name a GitHub repository or a configured Forgejo repository; give owner/name, host/owner/name, or a repository URL" + } + }, + "status": 400 + }, + { + "operation": "project.import", + "result": { + "error": { + "code": "invalid_request", + "message": "'not a repo!' does not name a GitHub repository or a configured Forgejo repository; give owner/name, host/owner/name, or a repository URL" + } + }, + "status": 400 + }, + { + "operation": "dump", + "result": { + "actors": [ + { + "created_at": "2026-01-02T03:04:07+00:00", + "disabled": 0, + "display_name": "parity", + "id": "act_0001", + "identity_ref": "local:parity", + "kind": "human" + }, + { + "created_at": "2026-01-02T03:04:09+00:00", + "disabled": 0, + "display_name": "agent:vogt-engine", + "id": "act_0002", + "identity_ref": "agent:vogt-engine", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:13+00:00", + "disabled": 0, + "display_name": "agent:vogt-sessions", + "id": "act_0003", + "identity_ref": "agent:vogt-sessions", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:06+00:00", + "disabled": 0, + "display_name": "Ada Lovelace", + "id": "act_0004", + "identity_ref": "human:ada-lovelace", + "kind": "human" + }, + { + "created_at": "2026-01-02T03:04:06+00:00", + "disabled": 0, + "display_name": "Ada Lovelace", + "id": "act_0005", + "identity_ref": "human:ada", + "kind": "human" + } + ], + "audit": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "ins_0001", + "entity_kind": "instance", + "id": "aud_0001", + "operation": "instance.init", + "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", + "reason": "instance bootstrap", + "revision": 0, + "txn_id": "txn_0001" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "entity_id": "tok_0001", + "entity_kind": "token", + "id": "aud_0002", + "operation": "token.adopt", + "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", + "reason": "adopting the operator-supplied core token at init", + "revision": 1, + "txn_id": "txn_0002" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0003", + "operation": "token.adopt", + "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", + "reason": "adopting the operator-supplied agent token at init", + "revision": 2, + "txn_id": "txn_0003" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:06+00:00", + "entity_id": "act_0004", + "entity_kind": "actor", + "id": "aud_0004", + "operation": "actor.auto_register", + "payload_digest": "sha256:87af525aec71a14661415e1c50dcf914634e2707473b601ae5fe8254bca3cf4d", + "reason": "first authenticated use by human:ada-lovelace; auto-registered so the write it accompanies can be attributed", + "revision": 3, + "txn_id": "txn_0004" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "tok_0003", + "entity_kind": "token", + "id": "aud_0005", + "operation": "install.bootstrap", + "payload_digest": "sha256:b19d0ae7d972de7a7d247d64fc4db90184619cd1db18a41a4d0e6b2a31a72d32", + "reason": "first-run install bootstrap for human:ada-lovelace", + "revision": 3, + "txn_id": "txn_0004" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "lbl_0001", + "entity_kind": "label", + "id": "aud_0006", + "operation": "label.create", + "payload_digest": "sha256:1b0a972c9944e759355152203a12fb36104f692b1f1911217107dcd4f75b8ccd", + "reason": "seed", + "revision": 4, + "txn_id": "txn_0006" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "tok_0004", + "entity_kind": "token", + "id": "aud_0007", + "operation": "token.issue", + "payload_digest": "sha256:1efafbf3c435f850162b7fdb5f1a1f97b97eb7bae0490f291c1731c7a390ee5a", + "reason": "a read token", + "revision": 5, + "txn_id": "txn_0007" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "tok_0004", + "entity_kind": "token", + "id": "aud_0008", + "operation": "auth.logout", + "payload_digest": "sha256:77f2ce31482b0061e1a20b86d2de25c0b43a6eaff6c025be826208b0dec15fe3", + "reason": "done", + "revision": 6, + "txn_id": "txn_0008" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0009", + "operation": "user.create", + "payload_digest": "sha256:67e02676f1f6d286e8b3624b34c5496ed548e0ac92c3485f85c350f4c54dcce7", + "reason": "parity harness", + "revision": 7, + "txn_id": "txn_0009" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0010", + "operation": "user.set_password", + "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", + "reason": "parity harness", + "revision": 8, + "txn_id": "txn_0010" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0011", + "operation": "token.revoke", + "payload_digest": "sha256:d331a6f9ffa337f5bbea02b91117f85c4a54fe0e8550538ef0ccbe9757a74c7a", + "reason": "parity harness", + "revision": 9, + "txn_id": "txn_0011" + }, + { + "actor_id": "act_0005", + "at": "2026-01-02T03:04:06+00:00", + "entity_id": "tok_0005", + "entity_kind": "token", + "id": "aud_0012", + "operation": "auth.login", + "payload_digest": "sha256:079f75e3b73e507a9203394b2f453386de6362973c6d3e9dfa6ddfee0201f931", + "reason": "password login by ada", + "revision": 10, + "txn_id": "txn_0012" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0013", + "operation": "user.remove", + "payload_digest": "sha256:c641563a061b879b4b32211c6b39a7a2eeb71a7a114359133e079bc16f1b4bfa", + "reason": "parity harness", + "revision": 11, + "txn_id": "txn_0013" + } + ], + "auth_decisions": [ + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0001", + "identity_ref": "human:ada-lovelace", + "operation": "why", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0002", + "identity_ref": "human:ada-lovelace", + "operation": "why", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0003", + "identity_ref": "human:ada-lovelace", + "operation": "work.list", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0004", + "identity_ref": "human:ada-lovelace", + "operation": "work.list", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0005", + "identity_ref": "human:ada-lovelace", + "operation": "work.get_many", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0006", + "identity_ref": "human:ada-lovelace", + "operation": "audit.list", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0007", + "identity_ref": "human:ada-lovelace", + "operation": "work.bind_branch", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0008", + "identity_ref": "human:ada-lovelace", + "operation": "work.adopt", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0009", + "identity_ref": "human:ada-lovelace", + "operation": "session.list", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0010", + "identity_ref": "human:ada-lovelace", + "operation": "session.sweep", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0011", + "identity_ref": "human:ada-lovelace", + "operation": "session.log_tail", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0012", + "identity_ref": "human:ada-lovelace", + "operation": "session.start", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0013", + "identity_ref": "human:ada-lovelace", + "operation": "session.input", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0014", + "identity_ref": "human:ada-lovelace", + "operation": "session.screen", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0015", + "identity_ref": "human:ada-lovelace", + "operation": "session.wait", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0016", + "identity_ref": "human:ada-lovelace", + "operation": "session.answer", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0017", + "identity_ref": "human:ada-lovelace", + "operation": "session.hibernate", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0018", + "identity_ref": "human:ada-lovelace", + "operation": "session.keep_awake", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0019", + "identity_ref": "human:ada-lovelace", + "operation": "session.set_role", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0020", + "identity_ref": "human:ada-lovelace", + "operation": "session.wake", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0021", + "identity_ref": "human:ada-lovelace", + "operation": "session.stop", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0022", + "identity_ref": "human:ada-lovelace", + "operation": "label.create", + "reason_code": "token_valid", + "scope": "work.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0023", + "identity_ref": "human:ada-lovelace", + "operation": "token.issue", + "reason_code": "token_valid", + "scope": "admin", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "deny", + "detail": null, + "id": "aut_0024", + "identity_ref": "human:ada-lovelace", + "operation": "label.create", + "reason_code": "missing_scope", + "scope": "work.write", + "token_id": "tok_0004", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0025", + "identity_ref": "human:ada-lovelace", + "operation": "auth.logout", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0004", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0026", + "identity_ref": "human:ada-lovelace", + "operation": "user.create", + "reason_code": "token_valid", + "scope": "admin", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0027", + "identity_ref": "human:ada-lovelace", + "operation": "user.list", + "reason_code": "token_valid", + "scope": "admin", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0028", + "identity_ref": "human:ada-lovelace", + "operation": "user.set_password", + "reason_code": "token_valid", + "scope": "admin", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0029", + "identity_ref": "human:ada-lovelace", + "operation": "token.list", + "reason_code": "token_valid", + "scope": "admin", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0030", + "identity_ref": "human:ada-lovelace", + "operation": "token.revoke", + "reason_code": "token_valid", + "scope": "admin", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0031", + "identity_ref": "human:ada-lovelace", + "operation": "auth.whoami", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0005", + "at": "2026-01-02T03:04:07+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0032", + "identity_ref": "human:ada", + "operation": "auth.login", + "reason_code": "login_ok", + "scope": null, + "token_id": "tok_0005", + "transport": "http" + }, + { + "actor_id": "act_0005", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0033", + "identity_ref": "human:ada", + "operation": "auth.whoami", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0005", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0034", + "identity_ref": "human:ada-lovelace", + "operation": "user.remove", + "reason_code": "token_valid", + "scope": "admin", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0035", + "identity_ref": "human:ada-lovelace", + "operation": "events.list", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0036", + "identity_ref": "human:ada-lovelace", + "operation": "events.list", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0037", + "identity_ref": "human:ada-lovelace", + "operation": "audit.list", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0038", + "identity_ref": "human:ada-lovelace", + "operation": "audit.list", + "reason_code": "token_valid", + "scope": "read", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0039", + "identity_ref": "human:ada-lovelace", + "operation": "project.import", + "reason_code": "token_valid", + "scope": "project.write", + "token_id": "tok_0003", + "transport": "http" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:05+00:00", + "decision": "allow", + "detail": null, + "id": "aut_0040", + "identity_ref": "human:ada-lovelace", + "operation": "project.import", + "reason_code": "token_valid", + "scope": "project.write", + "token_id": "tok_0003", + "transport": "http" + } + ], + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:06+00:00", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.auto_register", + "seq": 3, + "summary": "{\"identity_ref\": \"human:ada-lovelace\", \"kind\": \"human\"}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "audit_id": "aud_0005", + "entity_id": "tok_0003", + "entity_kind": "token", + "kind": "install.bootstrapped", + "seq": 4, + "summary": "{\"actor\": \"human:ada-lovelace\", \"scopes\": [\"admin\"]}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "audit_id": "aud_0006", + "entity_id": "lbl_0001", + "entity_kind": "label", + "kind": "label.created", + "seq": 5, + "summary": "{\"name\": \"bug\"}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "audit_id": "aud_0007", + "entity_id": "tok_0004", + "entity_kind": "token", + "kind": "token.issued", + "seq": 6, + "summary": "{\"actor\": \"human:ada-lovelace\", \"scopes\": [\"read\"]}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "audit_id": "aud_0008", + "entity_id": "tok_0004", + "entity_kind": "token", + "kind": "auth.session_closed", + "seq": 7, + "summary": "{\"actor\": \"human:ada-lovelace\"}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "audit_id": "aud_0009", + "entity_id": "act_0005", + "entity_kind": "user", + "kind": "user.created", + "seq": 8, + "summary": "{\"actor\": \"human:ada\", \"username\": \"ada\"}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "audit_id": "aud_0010", + "entity_id": "act_0005", + "entity_kind": "user", + "kind": "user.password_set", + "seq": 9, + "summary": "{\"username\": \"ada\"}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "audit_id": "aud_0011", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.revoked", + "seq": 10, + "summary": "{\"actor\": \"agent:vogt-sessions\"}" + }, + { + "actor_id": "act_0005", + "at": "2026-01-02T03:04:06+00:00", + "audit_id": "aud_0012", + "entity_id": "tok_0005", + "entity_kind": "token", + "kind": "auth.session_opened", + "seq": 11, + "summary": "{\"actor\": \"human:ada\"}" + }, + { + "actor_id": "act_0004", + "at": "2026-01-02T03:04:07+00:00", + "audit_id": "aud_0013", + "entity_id": "act_0005", + "entity_kind": "user", + "kind": "user.removed", + "seq": 12, + "summary": "{\"username\": \"ada\"}" + } + ], + "install_latch": [ + { + "closed_at": "2026-01-02T03:04:05+00:00", + "id": 1, + "reason": "a person holds a credential" + } + ], + "labels": [ + { + "color": null, + "created_at": "2026-01-02T03:04:06+00:00", + "id": "lbl_0001", + "name": "bug" + } + ], + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "revision", + "value": "11" + }, + { + "key": "work_ref_seq", + "value": "0" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:07+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", + "id": "0002_work" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", + "id": "0003_observed_first" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", + "id": "0004_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", + "id": "0005_tokens" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", + "id": "0006_writeback" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", + "id": "0007_sessions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", + "id": "0008_superseded_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", + "id": "0009_inbox_triage" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", + "id": "0010_session_model" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", + "id": "0011_contract_adoption" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", + "id": "0012_forge_accounts" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", + "id": "0013_upstream_truth" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", + "id": "0014_native_migration" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", + "id": "0015_work_overlay_branches" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", + "id": "0016_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", + "id": "0017_password_credentials" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", + "id": "0018_actor_preferences" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", + "id": "0019_session_grants" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", + "id": "0020_install_latch" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", + "id": "0021_agent_policy" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", + "id": "0022_comment_kind" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", + "id": "0023_decisions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", + "id": "0024_session_started_by" + } + ], + "tokens": [ + { + "actor_id": "act_0002", + "created_at": "2026-01-02T03:04:11+00:00", + "expires_at": null, + "id": "tok_0001", + "kind": "api", + "last_used_at": null, + "name": "bootstrap core token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\"]", + "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" + }, + { + "actor_id": "act_0003", + "created_at": "2026-01-02T03:04:15+00:00", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": "2026-01-02T03:04:06+00:00", + "revoked_reason": "parity harness", + "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", + "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" + }, + { + "actor_id": "act_0004", + "created_at": "2026-01-02T03:04:05+00:00", + "expires_at": null, + "id": "tok_0003", + "kind": "api", + "last_used_at": "2026-01-02T03:04:06+00:00", + "name": "first-run browser token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"admin\"]", + "token_hash": "" + }, + { + "actor_id": "act_0004", + "created_at": "2026-01-02T03:04:06+00:00", + "expires_at": null, + "id": "tok_0004", + "kind": "api", + "last_used_at": "2026-01-02T03:04:06+00:00", + "name": "reader", + "revoked_at": "2026-01-02T03:04:06+00:00", + "revoked_reason": "done", + "scopes": "[\"read\"]", + "token_hash": "" + }, + { + "actor_id": "act_0005", + "created_at": "2026-01-02T03:04:05+00:00", + "expires_at": "2026-02-01T03:04:05+00:00", + "id": "tok_0005", + "kind": "session", + "last_used_at": "2026-01-02T03:04:06+00:00", + "name": "browser session", + "revoked_at": "2026-01-02T03:04:06+00:00", + "revoked_reason": "parity harness", + "scopes": "[\"read\", \"work.write\", \"project.write\"]", + "token_hash": "" + } + ], + "workflow_defs": [ + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "feature", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "bug", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "chore", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "question", + "updated_at": "2026-01-02T03:04:05+00:00" + } + ] + } + } +] diff --git a/tests/parity/golden/21c95f6-s2/mcp.json b/tests/parity/golden/21c95f6-s2/mcp.json new file mode 100644 index 00000000..2ae669f5 --- /dev/null +++ b/tests/parity/golden/21c95f6-s2/mcp.json @@ -0,0 +1,2573 @@ +[ + { + "body": { + "declared": { + "actors": [ + { + "created_at": "2026-01-02T03:04:07+00:00", + "disabled": 0, + "display_name": "parity", + "id": "act_0001", + "identity_ref": "local:parity", + "kind": "human" + }, + { + "created_at": "2026-01-02T03:04:09+00:00", + "disabled": 0, + "display_name": "agent:vogt-engine", + "id": "act_0002", + "identity_ref": "agent:vogt-engine", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:13+00:00", + "disabled": 0, + "display_name": "agent:vogt-sessions", + "id": "act_0003", + "identity_ref": "agent:vogt-sessions", + "kind": "agent" + } + ], + "audit": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "ins_0001", + "entity_kind": "instance", + "id": "aud_0001", + "operation": "instance.init", + "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", + "reason": "instance bootstrap", + "revision": 0, + "txn_id": "txn_0001" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "entity_id": "tok_0001", + "entity_kind": "token", + "id": "aud_0002", + "operation": "token.adopt", + "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", + "reason": "adopting the operator-supplied core token at init", + "revision": 1, + "txn_id": "txn_0002" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0003", + "operation": "token.adopt", + "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", + "reason": "adopting the operator-supplied agent token at init", + "revision": 2, + "txn_id": "txn_0003" + } + ], + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" + } + ], + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "revision", + "value": "2" + }, + { + "key": "work_ref_seq", + "value": "0" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:07+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", + "id": "0002_work" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", + "id": "0003_observed_first" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", + "id": "0004_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", + "id": "0005_tokens" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", + "id": "0006_writeback" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", + "id": "0007_sessions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", + "id": "0008_superseded_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", + "id": "0009_inbox_triage" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", + "id": "0010_session_model" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", + "id": "0011_contract_adoption" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", + "id": "0012_forge_accounts" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", + "id": "0013_upstream_truth" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", + "id": "0014_native_migration" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", + "id": "0015_work_overlay_branches" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", + "id": "0016_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", + "id": "0017_password_credentials" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", + "id": "0018_actor_preferences" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", + "id": "0019_session_grants" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", + "id": "0020_install_latch" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", + "id": "0021_agent_policy" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", + "id": "0022_comment_kind" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", + "id": "0023_decisions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", + "id": "0024_session_started_by" + } + ], + "tokens": [ + { + "actor_id": "act_0002", + "created_at": "2026-01-02T03:04:11+00:00", + "expires_at": null, + "id": "tok_0001", + "kind": "api", + "last_used_at": null, + "name": "bootstrap core token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\"]", + "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" + }, + { + "actor_id": "act_0003", + "created_at": "2026-01-02T03:04:15+00:00", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", + "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" + } + ], + "workflow_defs": [ + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "feature", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "bug", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "chore", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "question", + "updated_at": "2026-01-02T03:04:05+00:00" + } + ] + }, + "observed": { + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:08+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "c050f9e4dba983119f045b8fb4ccbe8b1ee97473170eead7d28279e99468de4b", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "9cdc9c9179740af96606bab0b557c7b35639eaabc78faf16630c7705f1d368f5", + "id": "0002_evidence" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8bf0b8533774a156762fddc2e56bbb9656ba3b6bf0e38ec85a66c9dc9c325ed1", + "id": "0003_inherited_dep_refs" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8d5cffbb2acb6ff18099ad73384eaa4ea5ebca7a6f45afb79d353fb4cbbcaee6", + "id": "0004_forge_sync" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e6902e6616ab9948f9d222b2763ce9bc421a136b6acb1422240e5957683e5e45", + "id": "0005_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e0e959f4bf4f39db47d5e41ac11391d5f80a0b73bcce57d36168572062b1ab66", + "id": "0006_agent_activity" + } + ] + } + }, + "operation": "dump.after_init" + }, + { + "body": { + "counts": { + "actors": 3, + "audit": 3, + "events": 2, + "initiatives": 0, + "projects": 0, + "work_items": 0 + }, + "data_dir": "", + "declared_schema_version": 24, + "instance_id": "ins_0001", + "observed_schema_version": 6, + "principal": "local:parity", + "revision": 2, + "vogt_version": "0.7.17" + }, + "is_error": false, + "operation": "status" + }, + { + "body": { + "data_dir": "", + "declared_schema_expected": 24, + "declared_schema_version": 24, + "migrations_applied": [], + "observed_schema_expected": 6, + "observed_schema_version": 6 + }, + "is_error": false, + "operation": "migrate" + }, + { + "body": { + "workflows": [ + { + "initial_state": "open", + "kind": "feature", + "states": [ + "blocked", + "done", + "in_progress", + "open", + "review", + "wont_do" + ], + "transitions": { + "blocked": [ + "open", + "in_progress", + "wont_do" + ], + "done": [ + "open" + ], + "in_progress": [ + "review", + "blocked", + "open", + "wont_do" + ], + "open": [ + "in_progress", + "blocked", + "wont_do" + ], + "review": [ + "done", + "in_progress", + "blocked", + "wont_do" + ], + "wont_do": [ + "open" + ] + } + }, + { + "initial_state": "open", + "kind": "bug", + "states": [ + "blocked", + "done", + "in_progress", + "open", + "review", + "wont_do" + ], + "transitions": { + "blocked": [ + "open", + "in_progress", + "wont_do" + ], + "done": [ + "open" + ], + "in_progress": [ + "review", + "blocked", + "open", + "wont_do" + ], + "open": [ + "in_progress", + "blocked", + "wont_do" + ], + "review": [ + "done", + "in_progress", + "blocked", + "wont_do" + ], + "wont_do": [ + "open" + ] + } + }, + { + "initial_state": "open", + "kind": "chore", + "states": [ + "blocked", + "done", + "in_progress", + "open", + "review", + "wont_do" + ], + "transitions": { + "blocked": [ + "open", + "in_progress", + "wont_do" + ], + "done": [ + "open" + ], + "in_progress": [ + "review", + "blocked", + "open", + "wont_do" + ], + "open": [ + "in_progress", + "blocked", + "wont_do" + ], + "review": [ + "done", + "in_progress", + "blocked", + "wont_do" + ], + "wont_do": [ + "open" + ] + } + }, + { + "initial_state": "open", + "kind": "question", + "states": [ + "blocked", + "done", + "in_progress", + "open", + "review", + "wont_do" + ], + "transitions": { + "blocked": [ + "open", + "in_progress", + "wont_do" + ], + "done": [ + "open" + ], + "in_progress": [ + "review", + "blocked", + "open", + "wont_do" + ], + "open": [ + "in_progress", + "blocked", + "wont_do" + ], + "review": [ + "done", + "in_progress", + "blocked", + "wont_do" + ], + "wont_do": [ + "open" + ] + } + } + ] + }, + "is_error": false, + "operation": "workflow.list" + }, + { + "body": { + "actor": { + "created_at": "2026-01-02T03:04:07Z", + "disabled": false, + "display_name": "Parity Agent", + "id": "act_0004", + "identity_ref": "agent:parity", + "kind": "agent" + } + }, + "is_error": false, + "operation": "actor.create" + }, + { + "body": { + "actors": [ + { + "created_at": "2026-01-02T03:04:07Z", + "disabled": false, + "display_name": "Parity Agent", + "id": "act_0004", + "identity_ref": "agent:parity", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:09Z", + "disabled": false, + "display_name": "agent:vogt-engine", + "id": "act_0002", + "identity_ref": "agent:vogt-engine", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:13Z", + "disabled": false, + "display_name": "agent:vogt-sessions", + "id": "act_0003", + "identity_ref": "agent:vogt-sessions", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:07Z", + "disabled": false, + "display_name": "parity", + "id": "act_0001", + "identity_ref": "local:parity", + "kind": "human" + } + ] + }, + "is_error": false, + "operation": "actor.list" + }, + { + "body": { + "label": { + "color": "#d73a4a", + "created_at": "2026-01-02T03:04:09Z", + "id": "lbl_0001", + "name": "parity" + } + }, + "is_error": false, + "operation": "label.create" + }, + { + "body": { + "labels": [ + { + "color": "#d73a4a", + "created_at": "2026-01-02T03:04:09Z", + "id": "lbl_0001", + "name": "parity" + } + ] + }, + "is_error": false, + "operation": "label.list" + }, + { + "body": { + "contract_version": "v1", + "criteria": [ + { + "applicable": true, + "detail": "directory exists", + "rule": "path.exists", + "satisfied": true, + "target": "" + }, + { + "applicable": true, + "detail": "AGENTS.md is missing", + "rule": "required_file", + "satisfied": false, + "target": "AGENTS.md" + }, + { + "applicable": true, + "detail": "README.md is missing", + "rule": "required_file", + "satisfied": false, + "target": "README.md" + }, + { + "applicable": true, + "detail": "LICENSE is missing", + "rule": "required_file", + "satisfied": false, + "target": "LICENSE" + }, + { + "applicable": true, + "detail": "docs/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "docs" + }, + { + "applicable": true, + "detail": "design/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "design" + }, + { + "applicable": true, + "detail": "src/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "src" + } + ], + "failing": [ + { + "applicable": true, + "detail": "AGENTS.md is missing", + "rule": "required_file", + "satisfied": false, + "target": "AGENTS.md" + }, + { + "applicable": true, + "detail": "README.md is missing", + "rule": "required_file", + "satisfied": false, + "target": "README.md" + }, + { + "applicable": true, + "detail": "LICENSE is missing", + "rule": "required_file", + "satisfied": false, + "target": "LICENSE" + }, + { + "applicable": true, + "detail": "docs/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "docs" + }, + { + "applicable": true, + "detail": "design/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "design" + }, + { + "applicable": true, + "detail": "src/ is missing", + "rule": "required_dir", + "satisfied": false, + "target": "src" + } + ], + "inapplicable": [], + "path": "", + "recommendations": [ + { + "instruction": "`project scaffold` writes AGENTS.md into this project without overwriting anything that is already there.", + "remedy": "scaffold", + "rule": "required_file", + "target": "AGENTS.md" + }, + { + "instruction": "`project scaffold` writes README.md into this project without overwriting anything that is already there.", + "remedy": "scaffold", + "rule": "required_file", + "target": "README.md" + }, + { + "instruction": "choose a licence for this project and write its full text to LICENSE. Vogt deliberately does not pick one: a scaffold that silently writes MIT makes that decision for the owner.", + "remedy": "judgement", + "rule": "required_file", + "target": "LICENSE" + }, + { + "instruction": "`project scaffold` writes docs/ into this project without overwriting anything that is already there.", + "remedy": "scaffold", + "rule": "required_dir", + "target": "docs" + }, + { + "instruction": "decide what this project's design record is \u2014 diagrams, mockups, exploratory notes \u2014 and put it in design/. An empty directory satisfies the letter of the criterion and none of its point, and git cannot carry one anyway.", + "remedy": "judgement", + "rule": "required_dir", + "target": "design" + }, + { + "instruction": "`project scaffold` writes src/ into this project without overwriting anything that is already there.", + "remedy": "scaffold", + "rule": "required_dir", + "target": "src" + } + ], + "recorded": false, + "status": "non_compliant" + }, + "is_error": false, + "operation": "contract.evaluate" + }, + { + "body": { + "contract_version": "v1", + "criteria": [ + { + "applicable": true, + "detail": "the path does not exist or is not a directory, so no criterion below was evaluated \u2014 this is 'not checked', not 'does not comply'", + "rule": "path.exists", + "satisfied": false, + "target": "/does-not-exist" + } + ], + "failing": [ + { + "applicable": true, + "detail": "the path does not exist or is not a directory, so no criterion below was evaluated \u2014 this is 'not checked', not 'does not comply'", + "rule": "path.exists", + "satisfied": false, + "target": "/does-not-exist" + } + ], + "inapplicable": [], + "path": "/does-not-exist", + "recommendations": [ + { + "instruction": "decide what /does-not-exist should contain for this project and add it. Nothing here can write it for you.", + "remedy": "judgement", + "rule": "path.exists", + "target": "/does-not-exist" + } + ], + "recorded": false, + "status": "not_checked" + }, + "is_error": false, + "operation": "contract.evaluate" + }, + { + "body": { + "created_paths": [ + "/proj", + "/proj/AGENTS.md", + "/proj/LICENSE", + "/proj/README.md", + "/proj/design", + "/proj/docs", + "/proj/src" + ], + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11Z", + "created_at": "2026-01-02T03:04:11Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "incubating", + "link_state": "unlinked", + "name": "Parity", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:11Z", + "write_back": "none" + }, + "skipped_paths": [] + }, + "is_error": false, + "operation": "project.create" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11Z", + "created_at": "2026-01-02T03:04:11Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "incubating", + "link_state": "unlinked", + "name": "Parity", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:11Z", + "write_back": "none" + } + }, + "is_error": false, + "operation": "project.get" + }, + { + "body": { + "projects": [ + { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11Z", + "created_at": "2026-01-02T03:04:11Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "incubating", + "link_state": "unlinked", + "name": "Parity", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:11Z", + "writable": false, + "writable_reason": "not forge-linked: work.create refuses with project_not_linked. Pass local_only=true for a local record, or link (`forge link`) or publish (`forge publish`) the project.", + "write_back": "none" + } + ], + "total": 1 + }, + "is_error": false, + "operation": "project.list" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11Z", + "created_at": "2026-01-02T03:04:11Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "incubating", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:13Z", + "write_back": "none" + } + }, + "is_error": false, + "operation": "project.update" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11Z", + "created_at": "2026-01-02T03:04:11Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:15Z", + "write_back": "none" + } + }, + "is_error": false, + "operation": "project.transition" + }, + { + "body": { + "created": [], + "detail": "0 written, 6 already there and left exactly as they were", + "project": "parity", + "root_path": "/proj", + "skipped": [ + "/proj/AGENTS.md", + "/proj/LICENSE", + "/proj/README.md", + "/proj/design", + "/proj/docs", + "/proj/src" + ] + }, + "is_error": false, + "operation": "project.scaffold" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "created_at": "2026-01-02T03:04:18Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0002", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Second", + "root_path": "/second", + "slug": "second", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:18Z", + "write_back": "none" + } + }, + "is_error": false, + "operation": "project.register" + }, + { + "body": { + "by_kind": {}, + "by_state": {}, + "ci_status": { + "checks": 0, + "detail": "swept, but no CI checks were observed \u2014 either this project has none, or the optional forge adapter is not configured", + "earlier_failures": 0, + "failing": [], + "revisions_observed": 0, + "status": "no_checks" + }, + "compliance_status": "not_checked", + "declared_work": 0, + "dependencies": { + "detail": "`dep-refs` has not walked this project; its references are not collected, which is not the same as none", + "referenced_by": 0, + "references_out": 0, + "status": "not_collected", + "unresolved": 0 + }, + "freshness": { + "collectors": "", + "detail": "no collector has completed a sweep yet", + "status": "never_swept" + }, + "observed_work": 0, + "open_bugs": 0, + "open_work": 0, + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11Z", + "created_at": "2026-01-02T03:04:11Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:15Z", + "write_back": "none" + }, + "top_backlog": [] + }, + "is_error": false, + "operation": "project.brief" + }, + { + "body": { + "backlog_total_considered": 0, + "drift_present": false, + "generated_at": "2026-01-02T03:04:25Z", + "inbox_active": 0, + "inbox_active_unfiltered": 0, + "projects_total": 2, + "revision": 9, + "work_total": 0 + }, + "is_error": false, + "operation": "place.metrics" + }, + { + "body": { + "configured": 0, + "detail": "deploy_lanes is not configured, so deployed versions are not collected", + "freshness": { + "collectors": "", + "detail": "no collector has completed a sweep yet", + "status": "never_swept" + }, + "lanes": [] + }, + "is_error": false, + "operation": "deployed.versions" + }, + { + "body": { + "initiative": { + "body": "", + "created_at": "2026-01-02T03:04:26Z", + "id": "ini_0001", + "slug": "platform", + "state": "open", + "title": "Platform", + "updated_at": "2026-01-02T03:04:26Z", + "weight": 0 + } + }, + "is_error": false, + "operation": "initiative.create" + }, + { + "body": { + "initiatives": [ + { + "body": "", + "created_at": "2026-01-02T03:04:26Z", + "id": "ini_0001", + "slug": "platform", + "state": "open", + "title": "Platform", + "updated_at": "2026-01-02T03:04:26Z", + "weight": 0 + } + ] + }, + "is_error": false, + "operation": "initiative.list" + }, + { + "body": { + "initiative": { + "body": "", + "created_at": "2026-01-02T03:04:26Z", + "id": "ini_0001", + "slug": "platform", + "state": "open", + "title": "Platform work", + "updated_at": "2026-01-02T03:04:28Z", + "weight": 0 + } + }, + "is_error": false, + "operation": "initiative.update" + }, + { + "body": { + "slug": "platform", + "state": "open", + "tracking_issues": [] + }, + "is_error": false, + "operation": "initiative.publish" + }, + { + "body": { + "text": "not_found: no initiative with slug 'missing'" + }, + "is_error": true, + "operation": "initiative.publish" + }, + { + "body": { + "preferences": [] + }, + "is_error": false, + "operation": "preference.get" + }, + { + "body": { + "preference": { + "key": "inbox.filter", + "updated_at": "2026-01-02T03:04:31Z", + "value": { + "actor": "any", + "sources": [ + "ci" + ], + "triage_states": [ + "active" + ] + }, + "version": 1 + } + }, + "is_error": false, + "operation": "preference.set" + }, + { + "body": { + "text": "preference_version_conflict: preference 'inbox.filter' is at version 1, not 0; re-read it and apply the change on top of the current value" + }, + "is_error": true, + "operation": "preference.set" + }, + { + "body": { + "by_reason": {}, + "detail": "nothing collected \u2014 either there is nothing to say, or the configured token cannot read notifications; `coverage` distinguishes the two", + "freshness": { + "collectors": "", + "detail": "no collector has completed a sweep yet", + "status": "never_swept" + }, + "notifications": [], + "scope": "the GitHub account whose token this instance is configured with; notifications are instance-scoped, not per-actor", + "total": 0, + "unread": 0 + }, + "is_error": false, + "operation": "notifications" + }, + { + "body": { + "actor_unknown_hidden": 0, + "counts": { + "active": 0, + "archived": 0, + "snoozed": 0 + }, + "coverage": { + "agent": { + "count": 0, + "detail": "no session engine is configured", + "projects": 0, + "registered": 2, + "source": "agent", + "status": "unconfigured" + }, + "ci": { + "count": 0, + "detail": "this collector has not completed a sweep", + "projects": 0, + "registered": 2, + "source": "ci", + "status": "unswept" + }, + "drift": { + "count": 0, + "detail": "open proposals in the declared store", + "projects": 0, + "registered": 2, + "source": "drift", + "status": "current" + }, + "github": { + "count": 0, + "detail": "this collector has not completed a sweep", + "projects": 0, + "registered": 2, + "source": "github", + "status": "unswept" + } + }, + "engine_available": false, + "engine_detail": "no session engine is configured", + "engine_status": "not_configured", + "entries": [], + "github_scope": "registered projects only", + "high_water": {}, + "instance_scope": "registered projects only", + "snapshot_at": "2026-01-02T03:04:33Z" + }, + "is_error": false, + "operation": "inbox.list" + }, + { + "body": { + "text": "inbox_entry_not_found: no current Inbox entry 'nope'" + }, + "is_error": true, + "operation": "inbox.archive" + }, + { + "body": { + "text": "invalid_snooze: snooze deadline must be in the future" + }, + "is_error": true, + "operation": "inbox.snooze" + }, + { + "body": { + "text": "inbox_entry_not_found: no current Inbox entry 'nope'" + }, + "is_error": true, + "operation": "inbox.restore" + }, + { + "body": { + "branches": [], + "comments": [], + "item": { + "body": "", + "created_at": "2026-01-02T03:04:35Z", + "id": "wrk_0001", + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p2", + "ref": "WI-1", + "relations": [], + "state": "open", + "title": "parity item", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:35Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "is_error": false, + "operation": "work.create" + }, + { + "body": { + "branches": [], + "comments": [], + "item": { + "body": "", + "created_at": "2026-01-02T03:04:35Z", + "id": "wrk_0001", + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "ref": "WI-1", + "relations": [], + "state": "open", + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:37Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "is_error": false, + "operation": "work.update" + }, + { + "body": { + "text": "invalid_params: labels: Input should be a valid list. work_create takes required: kind, title, reason; optional: body, priority, effort, project, initiative, assignee, labels, local_only" + }, + "is_error": true, + "operation": "work.create" + }, + { + "body": { + "text": "project_not_linked: work.create needs a forge-linked project, and 'parity' is not linked: link it (`forge link`, or re-import through `project import`) or publish it (`forge publish`) first; or pass `local_only: true` to keep a native item in this project. Native items (WI-n) on this project still take comments, transitions (including to done) and field edits by ref." + }, + "is_error": true, + "operation": "work.create" + }, + { + "body": { + "items": [ + { + "kind": "chore", + "priority": "p1", + "ref": "WI-1", + "state": "open", + "title": "parity item renamed" + } + ], + "mode": "summary", + "total": 1 + }, + "is_error": false, + "operation": "work.list" + }, + { + "body": { + "text": "not_found: no project with slug 'missing'" + }, + "is_error": true, + "operation": "work.list" + }, + { + "body": { + "branches": [], + "comments": [], + "item": { + "body": "", + "created_at": "2026-01-02T03:04:35Z", + "id": "wrk_0001", + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "ref": "WI-1", + "relations": [], + "state": "open", + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:37Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "is_error": false, + "operation": "work.get" + }, + { + "body": { + "comment": { + "actor_display_name": "parity", + "actor_id": "act_0001", + "body": "parity note", + "created_at": "2026-01-02T03:04:42Z", + "id": "cmt_0001", + "kind": "note", + "work_item_id": "wrk_0001" + }, + "write_back": "skipped" + }, + "is_error": false, + "operation": "work.comment" + }, + { + "body": { + "branches": [], + "comments": [], + "item": { + "body": "", + "created_at": "2026-01-02T03:04:35Z", + "id": "wrk_0001", + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "ref": "WI-1", + "relations": [], + "state": "in_progress", + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:45Z" + }, + "live_sessions": [], + "sessions": [], + "walked": [] + }, + "is_error": false, + "operation": "work.transition" + }, + { + "body": { + "text": "not_found: no work item 'WI-2'" + }, + "is_error": true, + "operation": "work.relate" + }, + { + "body": { + "text": "not_found: no work item 'WI-2'" + }, + "is_error": true, + "operation": "work.unrelate" + }, + { + "body": { + "backlog_candidates": 1, + "cells": [ + { + "items": [], + "lane_key": "", + "state": "open", + "total": 0 + } + ], + "column_totals": { + "in_progress": 1 + }, + "declared_total": 1, + "excluded_unlinked": 0, + "lane_totals": { + "": 1 + }, + "revision": 17, + "snapshot": "eyJmaW5nZXJwcmludCI6InNoYTI1Njo2N2JkMGQ3MTUxN2JlYThkM2VkNmJjYWE0ZTFmZTY2YzYyNTM5MGRkNjg2ODI3MjM1Njk4MTUxMDg2ZDc0MDYzIiwiaGlnaF93YXRlciI6WyIyMDI2LTAxLTAyVDAzOjA0OjM1KzAwOjAwIiwiV0ktMSJdLCJraW5kIjoic25hcHNob3QiLCJyZXZpc2lvbiI6MTcsInNuYXBzaG90X2F0IjoiMjAyNi0wMS0wMlQwMzowNDo0NyswMDowMCJ9", + "snapshot_at": "2026-01-02T03:04:47Z", + "total": 1 + }, + "is_error": false, + "operation": "board.list" + }, + { + "body": { + "closed_upstream": 0, + "declared": 1, + "excluded_unlinked": 0, + "freshness": { + "collectors": "", + "detail": "no collector has completed a sweep yet", + "status": "never_swept" + }, + "items": [ + { + "classified": true, + "kind": "chore", + "labels": [], + "origin": "declared", + "priority": "p1", + "ref": "WI-1", + "score": 52.0, + "state": "in_progress", + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:45Z" + } + ], + "observed": 0, + "scope": "global", + "suppressed": 0, + "total_considered": 1 + }, + "is_error": false, + "operation": "backlog" + }, + { + "body": { + "text": "not_found: no project with slug 'missing'" + }, + "is_error": true, + "operation": "backlog" + }, + { + "body": { + "closed_upstream": 0, + "declared": 0, + "excluded_unlinked": 0, + "freshness": { + "collectors": "", + "detail": "no collector has completed a sweep yet", + "status": "never_swept" + }, + "items": [], + "observed": 0, + "scope": "global", + "suppressed": 0, + "total_considered": 0 + }, + "is_error": false, + "operation": "bugs" + }, + { + "body": { + "text": "not_found: no project with slug 'missing'" + }, + "is_error": true, + "operation": "bugs" + }, + { + "body": { + "text": "not_found: no project with slug 'missing'" + }, + "is_error": true, + "operation": "deps" + }, + { + "body": { + "comments": 1, + "export_format_version": 2, + "path": "/export.json", + "projects": 2, + "work_items": 1 + }, + "is_error": false, + "operation": "export" + }, + { + "body": { + "applied": false, + "base": "2026-01-02T03:04:54Z", + "base_source": "an export of this same instance: its exported_at", + "by_entity": { + "actor": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 4, + "updated": 0 + }, + "comment": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 1, + "updated": 0 + }, + "initiative": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 1, + "updated": 0 + }, + "label": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 1, + "updated": 0 + }, + "project": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 2, + "updated": 0 + }, + "work_item": { + "conflict": 0, + "created": 0, + "skipped": 0, + "unchanged": 1, + "updated": 0 + } + }, + "changes": [], + "conflicted": 0, + "created": 0, + "detail": "Dry run: nothing was written. Pass --apply --confirm to merge.", + "export_format_version": 2, + "instance_id": "ins_0001", + "projects": 2, + "skipped": 0, + "source": "/export.json", + "unchanged": 10, + "updated": 0, + "work_items": 1 + }, + "is_error": false, + "operation": "import" + }, + { + "body": { + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11Z", + "created_at": "2026-01-02T03:04:11Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:56Z", + "write_back": "full" + } + }, + "is_error": false, + "operation": "forge.writeback" + }, + { + "body": { + "actions": [ + { + "action": "comment", + "at": "2026-01-02T03:04:43Z", + "detail": "write-back is off for this project", + "id": "wbk_0001", + "outcome": "skipped", + "policy": "none", + "reason": "parity" + } + ] + }, + "is_error": false, + "operation": "forge.actions" + }, + { + "body": { + "actions": [ + { + "action": "comment", + "at": "2026-01-02T03:04:43Z", + "detail": "write-back is off for this project", + "id": "wbk_0001", + "outcome": "skipped", + "policy": "none", + "reason": "parity" + } + ] + }, + "is_error": false, + "operation": "forge.actions" + }, + { + "body": { + "text": "invalid_request: 'no.such.host' is not a configured forge host; add it to forge_token_files before listing repositories" + }, + "is_error": true, + "operation": "forge.repos" + }, + { + "body": { + "accounts": [] + }, + "is_error": false, + "operation": "forge.account_status" + }, + { + "body": { + "text": "invalid_request: 'no.such.host' has no provider to validate a token against; configure the host under forge_token_files first" + }, + "is_error": true, + "operation": "forge.account_link" + }, + { + "body": { + "contributions": [ + { + "contribution": 55.0, + "detail": "p1", + "input": "priority", + "value": 1.0, + "weight": 55.0 + }, + { + "contribution": 0.0, + "detail": "0.0 days since last change", + "input": "staleness", + "value": 0.0, + "weight": 0.5 + }, + { + "contribution": 0.0, + "detail": "0 item(s) depend on this one", + "input": "blocking_fan_out", + "value": 0.0, + "weight": 8.0 + }, + { + "contribution": 0.0, + "detail": "no initiative", + "input": "initiative_weight", + "value": 0.0, + "weight": 0.25 + }, + { + "contribution": -3.0, + "detail": "trust state unverified", + "input": "trust_penalty", + "value": 1.0, + "weight": -3.0 + }, + { + "contribution": 0.0, + "detail": "no open pull request", + "input": "open_pr", + "value": 0.0, + "weight": 12.0 + }, + { + "contribution": 0.0, + "detail": "no branch observed", + "input": "branch_activity", + "value": 0.0, + "weight": 8.0 + } + ], + "inputs_not_yet_available": { + "ci_red_boost": "arrives with the CI check observations it reads" + }, + "ref": "WI-1", + "title": "parity item renamed", + "total": 52.0 + }, + "is_error": false, + "operation": "why" + }, + { + "body": { + "text": "not_found: no work item or observed subject 'WI-404'" + }, + "is_error": true, + "operation": "why" + }, + { + "body": { + "items": [ + { + "body": "", + "created_at": "2026-01-02T03:04:35Z", + "id": "wrk_0001", + "kind": "chore", + "labels": [], + "origin": "created", + "priority": "p1", + "ref": "WI-1", + "relations": [], + "state": "in_progress", + "title": "parity item renamed", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:45Z" + } + ], + "mode": "full", + "total": 1 + }, + "is_error": false, + "operation": "work.list" + }, + { + "body": { + "items": [], + "mode": "summary", + "total": 1 + }, + "is_error": false, + "operation": "work.list" + }, + { + "body": { + "items": [ + { + "kind": "chore", + "priority": "p1", + "ref": "WI-1", + "state": "in_progress", + "title": "parity item renamed" + } + ], + "missing": [ + "WI-404", + "WI-2" + ] + }, + "is_error": false, + "operation": "work.get_many" + }, + { + "body": { + "records": [ + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:57Z", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0019", + "operation": "project.writeback", + "payload_digest": "sha256:5160587a6bd4fd6e1c8cfdfbe9e7b71a0aff7cb411b75e8ad277bea16adfdf65", + "reason": "parity harness", + "revision": 18, + "txn_id": "txn_0022" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:46Z", + "entity_id": "wrk_0001", + "entity_kind": "work_item", + "id": "aud_0018", + "operation": "work.transition", + "payload_digest": "sha256:939b83a6dc5267e90a0a3a2a14a555a9e3f4e2aef4ad639c6cce2926b340b433", + "reason": "parity", + "revision": 17, + "txn_id": "txn_0019" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:44Z", + "entity_id": "cmt_0001", + "entity_kind": "comment", + "id": "aud_0017", + "operation": "work.comment", + "payload_digest": "sha256:99be8e34fd97a59c4231a9a0486189f35b99c0ffe966b6ef8b063cb25178d164", + "reason": "parity", + "revision": 16, + "txn_id": "txn_0018" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:38Z", + "entity_id": "wrk_0001", + "entity_kind": "work_item", + "id": "aud_0016", + "operation": "work.update", + "payload_digest": "sha256:bb461bbf55ff1118209c5b8a84ee0c9282ea3d25cb9db35ab8b07f3a62770b98", + "reason": "parity", + "revision": 15, + "txn_id": "txn_0017" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:36Z", + "entity_id": "wrk_0001", + "entity_kind": "work_item", + "id": "aud_0015", + "operation": "work.create", + "payload_digest": "sha256:797dfa50b38bbf76e9154d23f1449d70070cf64e5b059d2ae6ecd4ad3edd5a56", + "reason": "parity", + "revision": 14, + "txn_id": "txn_0016" + } + ], + "total": 19 + }, + "is_error": false, + "operation": "audit.list" + }, + { + "body": { + "text": "invalid_request: WI-1 belongs to no project, so there is no branch to bind it to" + }, + "is_error": true, + "operation": "work.bind_branch" + }, + { + "body": { + "text": "not_found: no observed subject 'gh:parity-org/parity#404'" + }, + "is_error": true, + "operation": "work.adopt" + }, + { + "body": { + "digests": [], + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "hidden_count": 0, + "sessions": [], + "total": 0, + "truncated": false + }, + "is_error": false, + "operation": "session.list" + }, + { + "body": { + "counts": { + "needs_you": 0, + "total": 0 + }, + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "rows": [], + "swept_at": "2026-01-02T03:05:01Z" + }, + "is_error": false, + "operation": "session.sweep" + }, + { + "body": { + "bytes": 0, + "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", + "text": "", + "total_bytes": 0, + "truncated": false + }, + "is_error": false, + "operation": "session.log_tail" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.start" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.input" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.screen" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.wait" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.answer" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.hibernate" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.keep_awake" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.set_role" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "session.wake" + }, + { + "body": { + "text": "not_found: no session 'ses_00000000000000000000000000'" + }, + "is_error": true, + "operation": "session.stop" + }, + { + "body": { + "text": "engine_unavailable: no session engine is configured, and chats run on it (set VOGT_ENGINE_URL)" + }, + "is_error": true, + "operation": "chat.list" + }, + { + "body": { + "text": "invalid_request: 'nope' is not a chat id (a UUID, from chat.list or chat.create)" + }, + "is_error": true, + "operation": "chat.get" + }, + { + "body": { + "user": { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:05:02Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:05:02Z", + "username": "ada" + } + }, + "is_error": false, + "operation": "user.create" + }, + { + "body": { + "users": [ + { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:05:02Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:05:02Z", + "username": "ada" + } + ] + }, + "is_error": false, + "operation": "user.list" + }, + { + "body": { + "user": { + "actor_id": "act_0005", + "actor_identity_ref": "human:ada", + "created_at": "2026-01-02T03:05:02Z", + "scopes": [ + "read", + "work.write", + "project.write" + ], + "updated_at": "2026-01-02T03:05:04Z", + "username": "ada" + } + }, + "is_error": false, + "operation": "user.set_password" + }, + { + "body": { + "tokens": [ + { + "actor_id": "act_0003", + "actor_identity_ref": "agent:vogt-sessions", + "created_at": "2026-01-02T03:04:15Z", + "id": "tok_0002", + "kind": "api", + "name": "bootstrap agent token", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + }, + { + "actor_id": "act_0002", + "actor_identity_ref": "agent:vogt-engine", + "created_at": "2026-01-02T03:04:11Z", + "id": "tok_0001", + "kind": "api", + "name": "bootstrap core token", + "scopes": [ + "read", + "work.write", + "project.write" + ] + } + ] + }, + "is_error": false, + "operation": "token.list" + }, + { + "body": { + "token": { + "actor_id": "act_0003", + "actor_identity_ref": "agent:vogt-sessions", + "created_at": "2026-01-02T03:04:15Z", + "id": "tok_0002", + "kind": "api", + "name": "bootstrap agent token", + "revoked_at": "2026-01-02T03:05:06Z", + "revoked_reason": "parity harness", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + "is_error": false, + "operation": "token.revoke" + }, + { + "body": { + "display_name": "parity", + "identity_ref": "local:parity", + "kind": "human", + "scopes": [ + "admin", + "project.write", + "read", + "work.write", + "writeback" + ] + }, + "is_error": false, + "operation": "auth.whoami" + }, + { + "body": { + "declared_schema_version": 24, + "engine_state": "not configured", + "import_root": "/instance/repos", + "instance_id": "ins_0001", + "observed_schema_version": 6, + "path": "/backup", + "taken_at": "2026-01-02T03:05:08Z" + }, + "is_error": false, + "operation": "backup" + }, + { + "body": { + "declared_schema_version": 24, + "engine_state": "not in this backup", + "import_root_now": "/instance/repos", + "import_root_then": "/instance/repos", + "instance_id": "ins_0001", + "migrations_applied": [], + "restored_from": "2026-01-02T03:05:08Z", + "source": "/backup" + }, + "is_error": false, + "operation": "restore" + }, + { + "body": { + "sessions_revoked": 0, + "username": "ada" + }, + "is_error": false, + "operation": "user.remove" + }, + { + "body": { + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12Z", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": { + "actor": "agent:vogt-engine", + "scopes": [ + "read", + "work.write", + "project.write" + ] + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16Z", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": { + "actor": "agent:vogt-sessions", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:08Z", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.created", + "seq": 3, + "summary": { + "identity_ref": "agent:parity", + "kind": "agent" + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:10Z", + "audit_id": "aud_0005", + "entity_id": "lbl_0001", + "entity_kind": "label", + "kind": "label.created", + "seq": 4, + "summary": { + "name": "parity" + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12Z", + "audit_id": "aud_0006", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.registered", + "seq": 5, + "summary": { + "name": "Parity", + "slug": "parity" + } + } + ], + "next_cursor": 5 + }, + "is_error": false, + "operation": "events.list" + }, + { + "body": { + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16Z", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": { + "actor": "agent:vogt-sessions", + "scopes": [ + "read", + "work.write", + "project.write", + "writeback" + ] + } + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:08Z", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.created", + "seq": 3, + "summary": { + "identity_ref": "agent:parity", + "kind": "agent" + } + } + ], + "next_cursor": 3 + }, + "is_error": false, + "operation": "events.list" + }, + { + "body": { + "records": [ + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:05:13Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0023", + "operation": "user.remove", + "payload_digest": "sha256:6cb1b570d1a756565af0191ec35d1fed1dc103ed9b82afa000b68a0172b6f711", + "reason": "parity harness", + "revision": 22, + "txn_id": "txn_0028" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:05:07Z", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0022", + "operation": "token.revoke", + "payload_digest": "sha256:09ebf7754bdeb8a7bab3516ffbce7a7dbbbd3fa3990e31ad5ffdee6504b718d3", + "reason": "parity harness", + "revision": 21, + "txn_id": "txn_0026" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:05:05Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0021", + "operation": "user.set_password", + "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", + "reason": "parity harness", + "revision": 20, + "txn_id": "txn_0025" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:05:03Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0020", + "operation": "user.create", + "payload_digest": "sha256:67e02676f1f6d286e8b3624b34c5496ed548e0ac92c3485f85c350f4c54dcce7", + "reason": "parity harness", + "revision": 19, + "txn_id": "txn_0024" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:04:57Z", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0019", + "operation": "project.writeback", + "payload_digest": "sha256:5160587a6bd4fd6e1c8cfdfbe9e7b71a0aff7cb411b75e8ad277bea16adfdf65", + "reason": "parity harness", + "revision": 18, + "txn_id": "txn_0022" + } + ], + "total": 23 + }, + "is_error": false, + "operation": "audit.list" + }, + { + "body": { + "records": [ + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:05:07Z", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0022", + "operation": "token.revoke", + "payload_digest": "sha256:09ebf7754bdeb8a7bab3516ffbce7a7dbbbd3fa3990e31ad5ffdee6504b718d3", + "reason": "parity harness", + "revision": 21, + "txn_id": "txn_0026" + }, + { + "actor_id": "act_0001", + "actor_identity_ref": "local:parity", + "at": "2026-01-02T03:05:05Z", + "entity_id": "act_0005", + "entity_kind": "user", + "id": "aud_0021", + "operation": "user.set_password", + "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", + "reason": "parity harness", + "revision": 20, + "txn_id": "txn_0025" + } + ], + "total": 23 + }, + "is_error": false, + "operation": "audit.list" + }, + { + "body": { + "text": "invalid_request: /backup is a backup of this instance (ins_0001); a clone copies another instance. Use `restore` to put this one back." + }, + "is_error": true, + "operation": "clone" + }, + { + "body": { + "text": "invalid_request: /backup is a backup of this instance (ins_0001); a clone copies another instance. Use `restore` to put this one back." + }, + "is_error": true, + "operation": "clone" + }, + { + "body": { + "text": "not_found: /missing has no manifest.json; it is not a Vogt backup" + }, + "is_error": true, + "operation": "clone" + }, + { + "body": { + "text": "invalid_request: 'not a repo!' does not name a GitHub repository or a configured Forgejo repository; give owner/name, host/owner/name, or a repository URL" + }, + "is_error": true, + "operation": "project.import" + }, + { + "body": { + "text": "invalid_request: 'not a repo!' does not name a GitHub repository or a configured Forgejo repository; give owner/name, host/owner/name, or a repository URL" + }, + "is_error": true, + "operation": "project.import" + } +] diff --git a/tests/parity/golden/21c95f6-s2/meta.json b/tests/parity/golden/21c95f6-s2/meta.json new file mode 100644 index 00000000..b93bd981 --- /dev/null +++ b/tests/parity/golden/21c95f6-s2/meta.json @@ -0,0 +1,5 @@ +{ + "main_sha": "21c95f674e1b03ee177394f605abb1abfac41cdd", + "recorded_at": "2026-10-17T05:20:05Z", + "recorder": "scripts/parity.py" +} diff --git a/tests/parity/script.json b/tests/parity/script.json index 064c3bae..df369972 100644 --- a/tests/parity/script.json +++ b/tests/parity/script.json @@ -189,6 +189,32 @@ "exit": 0 } }, + { + "operation": "project.brief", + "params": { + "slug": "parity" + }, + "expect": { + "exit": 0 + } + }, + { + "operation": "place.metrics", + "params": {}, + "expect": { + "exit": 0 + } + }, + { + "operation": "deployed.versions", + "cli": [ + "deployed-versions" + ], + "params": {}, + "expect": { + "exit": 0 + } + }, { "operation": "initiative.create", "params": { From b24d3a72dbde6f9a16a2389a8b6e345f65f94832 Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 06:34:34 +0000 Subject: [PATCH 04/10] fix(core): project agent policy matches Python's JSON and update summary (WI-1067) The stored agent_policy was written with sorted keys and spaced separators, and AgentPolicy declared its fields alphabetically. Python stores model_dump_json(): compact, in declaration order. Reorder the fields to Python's declaration order and write the compact form. project.updated's audit summary also left out agent_policy, which Python records alongside slug, exclusions and repo_url. Found by a parity dump after the project steps, which now compares these tables. Co-Authored-By: Claude Haiku 5.5 Signed-off-by: sprooty --- engine/core/src/application/projects.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engine/core/src/application/projects.rs b/engine/core/src/application/projects.rs index 4f7b6635..7bb9a5e7 100644 --- a/engine/core/src/application/projects.rs +++ b/engine/core/src/application/projects.rs @@ -1150,7 +1150,12 @@ fn apply_change( let summary = if change.event == PROJECT_TRANSITIONED_EVENT { json!({"slug": project.slug, "from": project.lifecycle_state.to_string(), "to": change.lifecycle_state}) } else { - json!({"slug": project.slug, "exclusions": updated.exclusions, "repo_url": updated.repo_url}) + json!({ + "slug": project.slug, + "exclusions": updated.exclusions, + "repo_url": updated.repo_url, + "agent_policy": serde_json::to_value(&updated.agent_policy).unwrap_or(Value::Null), + }) }; let id = project.id.clone(); Ok(WriteOutcome::new( From cd23c61aa6f45a96be42c381a8f8f105aa35357c Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 06:34:34 +0000 Subject: [PATCH 05/10] test(parity): a dump step records the tables mid-script (WI-1067) A step with "dump": true makes the CLI runner record the declared and observed tables at that point, so a later step cannot hide a change to a table an earlier one wrote. The audit payload digest of a project's row covers its root path, which names the run's temporary root, so the dump blanks that one digest; the rest of the row still compares verbatim. `--only dump` now runs the whole script, because a dump only shows what the steps before it wrote, and it compares only the dump records. Co-Authored-By: Claude Haiku 5.5 Signed-off-by: sprooty --- scripts/parity.py | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/scripts/parity.py b/scripts/parity.py index 30c1055b..b30efaf4 100644 --- a/scripts/parity.py +++ b/scripts/parity.py @@ -90,6 +90,8 @@ def main(argv: list[str] | None = None) -> int: golden = json.loads((args.golden / f"{args.transport}.json").read_text()) if args.only == "dump": golden = [step for step in golden if step["operation"].startswith("dump.")] + # A dump run executes the whole script so each mid-script dump sees the + # state the steps before it left; only the dumps are compared. recorded = [step for step in recorded if step["operation"].startswith("dump.")] elif args.only: golden = [step for step in golden if step["operation"].startswith(args.only)] @@ -126,6 +128,10 @@ def _resolve(impl: str) -> str: def _load_steps(prefix: str) -> list[dict[str, Any]]: document = json.loads(SCRIPT_PATH.read_text()) + if prefix == "dump": + # The dumps sit between the steps that write the tables they show, so + # a dump-only run has to execute the script up to them. + return list(document["steps"]) return [step for step in document["steps"] if step["operation"].startswith(prefix)] @@ -247,7 +253,7 @@ def request(method: str, params: dict[str, Any] | None = None) -> Any: recorded.append( { "operation": step["operation"], - "body": _dump(data, (step["dump"],)), + "body": _dump(data, _dump_names(step)), } ) continue @@ -336,13 +342,14 @@ def _run_cli(binary: str, steps: list[dict[str, Any]]) -> list[dict[str, Any]]: } ) for step in steps: - if "dump" in step: + # A dump step records tables at this point in the script, so a + # later step cannot hide a change an earlier one wrote. `true` + # dumps both stores; a store name dumps just that one. + if step.get("dump"): + body = _dump(data, _dump_names(step)) + _blank_payload_digests(body) answers.append( - { - "operation": step["operation"], - "exit": 0, - "body": _dump(data, (step["dump"],)), - } + {"operation": step["operation"], "exit": 0, "body": body} ) continue if "params" not in step: @@ -392,6 +399,28 @@ def _run_cli(binary: str, steps: list[dict[str, Any]]) -> list[dict[str, Any]]: return answers +def _dump_names(step: dict[str, Any]) -> tuple[str, ...]: + """The stores a dump step names: both for `true`, else the one named.""" + if step["dump"] is True: + return ("declared", "observed") + return (step["dump"],) + + +def _blank_payload_digests(dumped: dict[str, Any]) -> None: + """Blank the audit digests of a mid-script dump, in place. + + An audit row's `payload_digest` covers the whole payload, and a project's + payload names its root path, which is the run's temporary root. The digest + therefore differs from one run to the next even though the rest of the row + is fixed. The row's other fields still compare verbatim, so a changed + operation, actor, revision or reason is still caught. + """ + for tables in dumped.values(): + for row in (tables or {}).get("audit") or []: + if "payload_digest" in row: + row["payload_digest"] = "" + + def _dump( data: Path, names: tuple[str, ...] = ("declared", "observed") ) -> dict[str, Any]: @@ -524,7 +553,7 @@ def _run_http(binary: str, steps: list[dict[str, Any]]) -> list[dict[str, Any]]: { "operation": step["operation"], "result": _normalise( - _dump(data, (step["dump"],)), Path(scratch), data + _dump(data, _dump_names(step)), Path(scratch), data ), } ) From 11facaf9ed2c7d311c1a6a16d7dbad8c417dc600 Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 06:34:34 +0000 Subject: [PATCH 06/10] test(parity): one golden for main, with the S2 steps and a project/label dump (WI-1067) The S2 read steps (project.brief, place.metrics, deployed.versions) and a dump after the project and label steps are added to script.json. The golden is re-recorded from the Python reference under its main sha, 21c95f6, and the 21c95f6-s2 sibling is removed, so CI's check against 21c95f6 covers the whole script. The re-recording also adds the S9 steps, which were already in script.json but had not been recorded into 21c95f6. The 87 steps that were recorded there are unchanged. Co-Authored-By: Claude Haiku 5.5 Signed-off-by: sprooty --- tests/parity/golden/21c95f6-s2/cli.json | 2866 ---------------------- tests/parity/golden/21c95f6-s2/http.json | 2044 --------------- tests/parity/golden/21c95f6-s2/mcp.json | 2573 ------------------- tests/parity/golden/21c95f6-s2/meta.json | 5 - tests/parity/script.json | 4 + 5 files changed, 4 insertions(+), 7488 deletions(-) delete mode 100644 tests/parity/golden/21c95f6-s2/cli.json delete mode 100644 tests/parity/golden/21c95f6-s2/http.json delete mode 100644 tests/parity/golden/21c95f6-s2/mcp.json delete mode 100644 tests/parity/golden/21c95f6-s2/meta.json diff --git a/tests/parity/golden/21c95f6-s2/cli.json b/tests/parity/golden/21c95f6-s2/cli.json deleted file mode 100644 index 52978057..00000000 --- a/tests/parity/golden/21c95f6-s2/cli.json +++ /dev/null @@ -1,2866 +0,0 @@ -[ - { - "body": { - "declared": { - "actors": [ - { - "created_at": "2026-01-02T03:04:07+00:00", - "disabled": 0, - "display_name": "parity", - "id": "act_0001", - "identity_ref": "local:parity", - "kind": "human" - }, - { - "created_at": "2026-01-02T03:04:09+00:00", - "disabled": 0, - "display_name": "agent:vogt-engine", - "id": "act_0002", - "identity_ref": "agent:vogt-engine", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:13+00:00", - "disabled": 0, - "display_name": "agent:vogt-sessions", - "id": "act_0003", - "identity_ref": "agent:vogt-sessions", - "kind": "agent" - } - ], - "audit": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "ins_0001", - "entity_kind": "instance", - "id": "aud_0001", - "operation": "instance.init", - "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", - "reason": "instance bootstrap", - "revision": 0, - "txn_id": "txn_0001" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12+00:00", - "entity_id": "tok_0001", - "entity_kind": "token", - "id": "aud_0002", - "operation": "token.adopt", - "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", - "reason": "adopting the operator-supplied core token at init", - "revision": 1, - "txn_id": "txn_0002" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16+00:00", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0003", - "operation": "token.adopt", - "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", - "reason": "adopting the operator-supplied agent token at init", - "revision": 2, - "txn_id": "txn_0003" - } - ], - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12+00:00", - "audit_id": "aud_0002", - "entity_id": "tok_0001", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 1, - "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16+00:00", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" - } - ], - "meta": [ - { - "key": "instance_id", - "value": "ins_0001" - }, - { - "key": "revision", - "value": "2" - }, - { - "key": "work_ref_seq", - "value": "0" - }, - { - "key": "created_at", - "value": "2026-01-02T03:04:07+00:00" - } - ], - "migration_lock": [ - { - "acquired_at": null, - "holder": null, - "id": 1 - } - ], - "migrations": [ - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", - "id": "0001_foundation" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", - "id": "0002_work" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", - "id": "0003_observed_first" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", - "id": "0004_drift" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", - "id": "0005_tokens" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", - "id": "0006_writeback" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", - "id": "0007_sessions" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", - "id": "0008_superseded_drift" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", - "id": "0009_inbox_triage" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", - "id": "0010_session_model" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", - "id": "0011_contract_adoption" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", - "id": "0012_forge_accounts" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", - "id": "0013_upstream_truth" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", - "id": "0014_native_migration" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", - "id": "0015_work_overlay_branches" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", - "id": "0016_perf_indexes" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", - "id": "0017_password_credentials" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", - "id": "0018_actor_preferences" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", - "id": "0019_session_grants" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", - "id": "0020_install_latch" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", - "id": "0021_agent_policy" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", - "id": "0022_comment_kind" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", - "id": "0023_decisions" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", - "id": "0024_session_started_by" - } - ], - "tokens": [ - { - "actor_id": "act_0002", - "created_at": "2026-01-02T03:04:11+00:00", - "expires_at": null, - "id": "tok_0001", - "kind": "api", - "last_used_at": null, - "name": "bootstrap core token", - "revoked_at": null, - "revoked_reason": null, - "scopes": "[\"read\", \"work.write\", \"project.write\"]", - "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" - }, - { - "actor_id": "act_0003", - "created_at": "2026-01-02T03:04:15+00:00", - "expires_at": null, - "id": "tok_0002", - "kind": "api", - "last_used_at": null, - "name": "bootstrap agent token", - "revoked_at": null, - "revoked_reason": null, - "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", - "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" - } - ], - "workflow_defs": [ - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "feature", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "bug", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "chore", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "question", - "updated_at": "2026-01-02T03:04:05+00:00" - } - ] - }, - "observed": { - "meta": [ - { - "key": "instance_id", - "value": "ins_0001" - }, - { - "key": "created_at", - "value": "2026-01-02T03:04:08+00:00" - } - ], - "migration_lock": [ - { - "acquired_at": null, - "holder": null, - "id": 1 - } - ], - "migrations": [ - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "c050f9e4dba983119f045b8fb4ccbe8b1ee97473170eead7d28279e99468de4b", - "id": "0001_foundation" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "9cdc9c9179740af96606bab0b557c7b35639eaabc78faf16630c7705f1d368f5", - "id": "0002_evidence" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "8bf0b8533774a156762fddc2e56bbb9656ba3b6bf0e38ec85a66c9dc9c325ed1", - "id": "0003_inherited_dep_refs" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "8d5cffbb2acb6ff18099ad73384eaa4ea5ebca7a6f45afb79d353fb4cbbcaee6", - "id": "0004_forge_sync" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "e6902e6616ab9948f9d222b2763ce9bc421a136b6acb1422240e5957683e5e45", - "id": "0005_perf_indexes" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "e0e959f4bf4f39db47d5e41ac11391d5f80a0b73bcce57d36168572062b1ab66", - "id": "0006_agent_activity" - } - ] - } - }, - "exit": 0, - "operation": "dump.after_init" - }, - { - "body": { - "clone": null, - "counts": { - "actors": 3, - "audit": 3, - "events": 2, - "initiatives": 0, - "projects": 0, - "work_items": 0 - }, - "data_dir": "", - "declared_schema_version": 24, - "disk": null, - "instance_id": "ins_0001", - "observed_schema_version": 6, - "principal": "local:parity", - "revision": 2, - "vogt_version": "0.7.17" - }, - "exit": 0, - "operation": "status" - }, - { - "body": { - "data_dir": "", - "declared_schema_expected": 24, - "declared_schema_version": 24, - "migrations_applied": [], - "observed_schema_expected": 6, - "observed_schema_version": 6 - }, - "exit": 0, - "operation": "migrate" - }, - { - "body": { - "workflows": [ - { - "initial_state": "open", - "kind": "feature", - "states": [ - "blocked", - "done", - "in_progress", - "open", - "review", - "wont_do" - ], - "transitions": { - "blocked": [ - "open", - "in_progress", - "wont_do" - ], - "done": [ - "open" - ], - "in_progress": [ - "review", - "blocked", - "open", - "wont_do" - ], - "open": [ - "in_progress", - "blocked", - "wont_do" - ], - "review": [ - "done", - "in_progress", - "blocked", - "wont_do" - ], - "wont_do": [ - "open" - ] - } - }, - { - "initial_state": "open", - "kind": "bug", - "states": [ - "blocked", - "done", - "in_progress", - "open", - "review", - "wont_do" - ], - "transitions": { - "blocked": [ - "open", - "in_progress", - "wont_do" - ], - "done": [ - "open" - ], - "in_progress": [ - "review", - "blocked", - "open", - "wont_do" - ], - "open": [ - "in_progress", - "blocked", - "wont_do" - ], - "review": [ - "done", - "in_progress", - "blocked", - "wont_do" - ], - "wont_do": [ - "open" - ] - } - }, - { - "initial_state": "open", - "kind": "chore", - "states": [ - "blocked", - "done", - "in_progress", - "open", - "review", - "wont_do" - ], - "transitions": { - "blocked": [ - "open", - "in_progress", - "wont_do" - ], - "done": [ - "open" - ], - "in_progress": [ - "review", - "blocked", - "open", - "wont_do" - ], - "open": [ - "in_progress", - "blocked", - "wont_do" - ], - "review": [ - "done", - "in_progress", - "blocked", - "wont_do" - ], - "wont_do": [ - "open" - ] - } - }, - { - "initial_state": "open", - "kind": "question", - "states": [ - "blocked", - "done", - "in_progress", - "open", - "review", - "wont_do" - ], - "transitions": { - "blocked": [ - "open", - "in_progress", - "wont_do" - ], - "done": [ - "open" - ], - "in_progress": [ - "review", - "blocked", - "open", - "wont_do" - ], - "open": [ - "in_progress", - "blocked", - "wont_do" - ], - "review": [ - "done", - "in_progress", - "blocked", - "wont_do" - ], - "wont_do": [ - "open" - ] - } - } - ] - }, - "exit": 0, - "operation": "workflow.list" - }, - { - "body": { - "actor": { - "created_at": "2026-01-02T03:04:05Z", - "disabled": false, - "display_name": "Parity Agent", - "id": "act_0004", - "identity_ref": "agent:parity", - "kind": "agent" - } - }, - "exit": 0, - "operation": "actor.create" - }, - { - "body": { - "actors": [ - { - "created_at": "2026-01-02T03:04:05Z", - "disabled": false, - "display_name": "Parity Agent", - "id": "act_0004", - "identity_ref": "agent:parity", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:09Z", - "disabled": false, - "display_name": "agent:vogt-engine", - "id": "act_0002", - "identity_ref": "agent:vogt-engine", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:13Z", - "disabled": false, - "display_name": "agent:vogt-sessions", - "id": "act_0003", - "identity_ref": "agent:vogt-sessions", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:07Z", - "disabled": false, - "display_name": "parity", - "id": "act_0001", - "identity_ref": "local:parity", - "kind": "human" - } - ] - }, - "exit": 0, - "operation": "actor.list" - }, - { - "body": { - "label": { - "color": "#d73a4a", - "created_at": "2026-01-02T03:04:05Z", - "id": "lbl_0001", - "name": "parity" - } - }, - "exit": 0, - "operation": "label.create" - }, - { - "body": { - "labels": [ - { - "color": "#d73a4a", - "created_at": "2026-01-02T03:04:05Z", - "id": "lbl_0001", - "name": "parity" - } - ] - }, - "exit": 0, - "operation": "label.list" - }, - { - "body": { - "checked_at": null, - "contract_version": "v1", - "criteria": [ - { - "applicable": true, - "detail": "directory exists", - "rule": "path.exists", - "satisfied": true, - "target": "", - "tracked": null - }, - { - "applicable": true, - "detail": "AGENTS.md is missing", - "rule": "required_file", - "satisfied": false, - "target": "AGENTS.md", - "tracked": null - }, - { - "applicable": true, - "detail": "README.md is missing", - "rule": "required_file", - "satisfied": false, - "target": "README.md", - "tracked": null - }, - { - "applicable": true, - "detail": "LICENSE is missing", - "rule": "required_file", - "satisfied": false, - "target": "LICENSE", - "tracked": null - }, - { - "applicable": true, - "detail": "docs/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "docs", - "tracked": null - }, - { - "applicable": true, - "detail": "design/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "design", - "tracked": null - }, - { - "applicable": true, - "detail": "src/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "src", - "tracked": null - } - ], - "detail": null, - "failing": [ - { - "applicable": true, - "detail": "AGENTS.md is missing", - "rule": "required_file", - "satisfied": false, - "target": "AGENTS.md", - "tracked": null - }, - { - "applicable": true, - "detail": "README.md is missing", - "rule": "required_file", - "satisfied": false, - "target": "README.md", - "tracked": null - }, - { - "applicable": true, - "detail": "LICENSE is missing", - "rule": "required_file", - "satisfied": false, - "target": "LICENSE", - "tracked": null - }, - { - "applicable": true, - "detail": "docs/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "docs", - "tracked": null - }, - { - "applicable": true, - "detail": "design/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "design", - "tracked": null - }, - { - "applicable": true, - "detail": "src/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "src", - "tracked": null - } - ], - "inapplicable": [], - "path": "", - "project": null, - "recommendations": [ - { - "instruction": "`project scaffold` writes AGENTS.md into this project without overwriting anything that is already there.", - "remedy": "scaffold", - "rule": "required_file", - "target": "AGENTS.md" - }, - { - "instruction": "`project scaffold` writes README.md into this project without overwriting anything that is already there.", - "remedy": "scaffold", - "rule": "required_file", - "target": "README.md" - }, - { - "instruction": "choose a licence for this project and write its full text to LICENSE. Vogt deliberately does not pick one: a scaffold that silently writes MIT makes that decision for the owner.", - "remedy": "judgement", - "rule": "required_file", - "target": "LICENSE" - }, - { - "instruction": "`project scaffold` writes docs/ into this project without overwriting anything that is already there.", - "remedy": "scaffold", - "rule": "required_dir", - "target": "docs" - }, - { - "instruction": "decide what this project's design record is \u2014 diagrams, mockups, exploratory notes \u2014 and put it in design/. An empty directory satisfies the letter of the criterion and none of its point, and git cannot carry one anyway.", - "remedy": "judgement", - "rule": "required_dir", - "target": "design" - }, - { - "instruction": "`project scaffold` writes src/ into this project without overwriting anything that is already there.", - "remedy": "scaffold", - "rule": "required_dir", - "target": "src" - } - ], - "recorded": false, - "status": "non_compliant" - }, - "exit": 0, - "operation": "contract.evaluate" - }, - { - "body": { - "checked_at": null, - "contract_version": "v1", - "criteria": [ - { - "applicable": true, - "detail": "the path does not exist or is not a directory, so no criterion below was evaluated \u2014 this is 'not checked', not 'does not comply'", - "rule": "path.exists", - "satisfied": false, - "target": "/does-not-exist", - "tracked": null - } - ], - "detail": null, - "failing": [ - { - "applicable": true, - "detail": "the path does not exist or is not a directory, so no criterion below was evaluated \u2014 this is 'not checked', not 'does not comply'", - "rule": "path.exists", - "satisfied": false, - "target": "/does-not-exist", - "tracked": null - } - ], - "inapplicable": [], - "path": "/does-not-exist", - "project": null, - "recommendations": [ - { - "instruction": "decide what /does-not-exist should contain for this project and add it. Nothing here can write it for you.", - "remedy": "judgement", - "rule": "path.exists", - "target": "/does-not-exist" - } - ], - "recorded": false, - "status": "not_checked" - }, - "exit": 0, - "operation": "contract.evaluate" - }, - { - "body": { - "created_paths": [ - "/proj", - "/proj/AGENTS.md", - "/proj/LICENSE", - "/proj/README.md", - "/proj/design", - "/proj/docs", - "/proj/src" - ], - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "landing": null, - "main_branches": [], - "merge_deploys_prod": false, - "review": null, - "rules": [], - "session_wall_clock_minutes": null, - "test_recipe": "", - "verification": null - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:05Z", - "contract_version": null, - "created_at": "2026-01-02T03:04:05Z", - "current_version": null, - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "incubating", - "link_state": "unlinked", - "name": "Parity", - "repo_url": null, - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z", - "write_back": "none" - }, - "skipped_paths": [] - }, - "exit": 0, - "operation": "project.create" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "landing": null, - "main_branches": [], - "merge_deploys_prod": false, - "review": null, - "rules": [], - "session_wall_clock_minutes": null, - "test_recipe": "", - "verification": null - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:05Z", - "contract_version": null, - "created_at": "2026-01-02T03:04:05Z", - "current_version": null, - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "incubating", - "link_state": "unlinked", - "name": "Parity", - "repo_url": null, - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z", - "write_back": "none" - } - }, - "exit": 0, - "operation": "project.get" - }, - { - "body": { - "projects": [ - { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "landing": null, - "main_branches": [], - "merge_deploys_prod": false, - "review": null, - "rules": [], - "session_wall_clock_minutes": null, - "test_recipe": "", - "verification": null - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:05Z", - "contract_version": null, - "created_at": "2026-01-02T03:04:05Z", - "current_version": null, - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "incubating", - "link_state": "unlinked", - "name": "Parity", - "repo_url": null, - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z", - "writable": false, - "writable_reason": "not forge-linked: work.create refuses with project_not_linked. Pass local_only=true for a local record, or link (`forge link`) or publish (`forge publish`) the project.", - "write_back": "none" - } - ], - "total": 1 - }, - "exit": 0, - "operation": "project.list" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "landing": null, - "main_branches": [], - "merge_deploys_prod": false, - "review": null, - "rules": [], - "session_wall_clock_minutes": null, - "test_recipe": "", - "verification": null - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:05Z", - "contract_version": null, - "created_at": "2026-01-02T03:04:05Z", - "current_version": null, - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "incubating", - "link_state": "unlinked", - "name": "Parity", - "repo_url": "https://example.invalid/parity.git", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z", - "write_back": "none" - } - }, - "exit": 0, - "operation": "project.update" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "landing": null, - "main_branches": [], - "merge_deploys_prod": false, - "review": null, - "rules": [], - "session_wall_clock_minutes": null, - "test_recipe": "", - "verification": null - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:05Z", - "contract_version": null, - "created_at": "2026-01-02T03:04:05Z", - "current_version": null, - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "active", - "link_state": "unlinked", - "name": "Parity", - "repo_url": "https://example.invalid/parity.git", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z", - "write_back": "none" - } - }, - "exit": 0, - "operation": "project.transition" - }, - { - "body": { - "created": [], - "detail": "0 written, 6 already there and left exactly as they were", - "project": "parity", - "root_path": "/proj", - "skipped": [ - "/proj/AGENTS.md", - "/proj/LICENSE", - "/proj/README.md", - "/proj/design", - "/proj/docs", - "/proj/src" - ] - }, - "exit": 0, - "operation": "project.scaffold" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "landing": null, - "main_branches": [], - "merge_deploys_prod": false, - "review": null, - "rules": [], - "session_wall_clock_minutes": null, - "test_recipe": "", - "verification": null - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "contract_adopted_at": null, - "contract_version": null, - "created_at": "2026-01-02T03:04:05Z", - "current_version": null, - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0002", - "lifecycle_state": "active", - "link_state": "unlinked", - "name": "Second", - "repo_url": null, - "root_path": "/second", - "slug": "second", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z", - "write_back": "none" - } - }, - "exit": 0, - "operation": "project.register" - }, - { - "body": { - "by_kind": {}, - "by_state": {}, - "ci_status": { - "checks": 0, - "detail": "swept, but no CI checks were observed \u2014 either this project has none, or the optional forge adapter is not configured", - "earlier_failures": 0, - "failing": [], - "revision": null, - "revisions_observed": 0, - "status": "no_checks" - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "current_version": null, - "declared_version": null, - "declared_work": 0, - "dependencies": { - "detail": "`dep-refs` has not walked this project; its references are not collected, which is not the same as none", - "referenced_by": 0, - "references_out": 0, - "status": "not_collected", - "unresolved": 0 - }, - "freshness": { - "age_seconds": null, - "collectors": "", - "detail": "no collector has completed a sweep yet", - "oldest_relevant_sweep": null, - "status": "never_swept" - }, - "observed_version": null, - "observed_work": 0, - "open_bugs": 0, - "open_work": 0, - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "landing": null, - "main_branches": [], - "merge_deploys_prod": false, - "review": null, - "rules": [], - "session_wall_clock_minutes": null, - "test_recipe": "", - "verification": null - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:05Z", - "contract_version": null, - "created_at": "2026-01-02T03:04:05Z", - "current_version": null, - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "active", - "link_state": "unlinked", - "name": "Parity", - "repo_url": "https://example.invalid/parity.git", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z", - "write_back": "none" - }, - "top_backlog": [], - "version_matches": null - }, - "exit": 0, - "operation": "project.brief" - }, - { - "body": { - "backlog_total_considered": 0, - "drift_present": false, - "generated_at": "2026-01-02T03:04:08Z", - "inbox_active": 0, - "inbox_active_unfiltered": 0, - "inbox_filter": null, - "projects_total": 2, - "revision": 9, - "work_total": 0 - }, - "exit": 0, - "operation": "place.metrics" - }, - { - "body": { - "configured": 0, - "detail": "deploy_lanes is not configured, so deployed versions are not collected", - "freshness": { - "age_seconds": null, - "collectors": "", - "detail": "no collector has completed a sweep yet", - "oldest_relevant_sweep": null, - "status": "never_swept" - }, - "lanes": [] - }, - "exit": 0, - "operation": "deployed.versions" - }, - { - "body": { - "initiative": { - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "id": "ini_0001", - "slug": "platform", - "state": "open", - "title": "Platform", - "updated_at": "2026-01-02T03:04:05Z", - "weight": 0 - } - }, - "exit": 0, - "operation": "initiative.create" - }, - { - "body": { - "initiatives": [ - { - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "id": "ini_0001", - "slug": "platform", - "state": "open", - "title": "Platform", - "updated_at": "2026-01-02T03:04:05Z", - "weight": 0 - } - ] - }, - "exit": 0, - "operation": "initiative.list" - }, - { - "body": { - "initiative": { - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "id": "ini_0001", - "slug": "platform", - "state": "open", - "title": "Platform work", - "updated_at": "2026-01-02T03:04:05Z", - "weight": 0 - } - }, - "exit": 0, - "operation": "initiative.update" - }, - { - "body": { - "slug": "platform", - "state": "open", - "tracking_issues": [] - }, - "exit": 0, - "operation": "initiative.publish" - }, - { - "body": null, - "exit": 1, - "operation": "initiative.publish" - }, - { - "body": { - "preferences": [] - }, - "exit": 0, - "operation": "preference.get" - }, - { - "body": { - "preference": { - "key": "inbox.filter", - "updated_at": "2026-01-02T03:04:05Z", - "value": { - "actor": "any", - "sources": [ - "ci" - ], - "triage_states": [ - "active" - ] - }, - "version": 1 - } - }, - "exit": 0, - "operation": "preference.set" - }, - { - "body": null, - "exit": 1, - "operation": "preference.set" - }, - { - "body": { - "by_reason": {}, - "detail": "nothing collected \u2014 either there is nothing to say, or the configured token cannot read notifications; `coverage` distinguishes the two", - "freshness": { - "age_seconds": null, - "collectors": "", - "detail": "no collector has completed a sweep yet", - "oldest_relevant_sweep": null, - "status": "never_swept" - }, - "notifications": [], - "scope": "the GitHub account whose token this instance is configured with; notifications are instance-scoped, not per-actor", - "total": 0, - "unread": 0 - }, - "exit": 0, - "operation": "notifications" - }, - { - "body": { - "actor_unknown_hidden": 0, - "counts": { - "active": 0, - "archived": 0, - "snoozed": 0 - }, - "coverage": { - "agent": { - "count": 0, - "detail": "no session engine is configured", - "observed_at": null, - "projects": 0, - "registered": 2, - "source": "agent", - "status": "unconfigured" - }, - "ci": { - "count": 0, - "detail": "this collector has not completed a sweep", - "observed_at": null, - "projects": 0, - "registered": 2, - "source": "ci", - "status": "unswept" - }, - "drift": { - "count": 0, - "detail": "open proposals in the declared store", - "observed_at": null, - "projects": 0, - "registered": 2, - "source": "drift", - "status": "current" - }, - "github": { - "count": 0, - "detail": "this collector has not completed a sweep", - "observed_at": null, - "projects": 0, - "registered": 2, - "source": "github", - "status": "unswept" - } - }, - "engine_available": false, - "engine_detail": "no session engine is configured", - "engine_status": "not_configured", - "entries": [], - "github_scope": "registered projects only", - "high_water": { - "agent": null, - "ci": null, - "drift": null, - "github": null - }, - "instance_scope": "registered projects only", - "next_cursor": null, - "snapshot_at": "2026-01-02T03:04:05Z" - }, - "exit": 0, - "operation": "inbox.list" - }, - { - "body": null, - "exit": 1, - "operation": "inbox.archive" - }, - { - "body": null, - "exit": 1, - "operation": "inbox.snooze" - }, - { - "body": null, - "exit": 1, - "operation": "inbox.restore" - }, - { - "body": { - "branches": [], - "comments": [], - "git": null, - "item": { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0001", - "initiative_id": null, - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p2", - "project_id": null, - "project_slug": null, - "ref": "WI-1", - "relations": [], - "state": "open", - "superseded_by": null, - "title": "parity item", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "exit": 0, - "operation": "work.create" - }, - { - "body": { - "branches": [], - "comments": [], - "git": null, - "item": { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0001", - "initiative_id": null, - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "project_id": null, - "project_slug": null, - "ref": "WI-1", - "relations": [], - "state": "open", - "superseded_by": null, - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "exit": 0, - "operation": "work.update" - }, - { - "body": { - "branches": [], - "comments": [], - "git": null, - "item": { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0002", - "initiative_id": null, - "kind": "chore", - "labels": [ - "parity" - ], - "origin": "created", - "priority": "p2", - "project_id": null, - "project_slug": null, - "ref": "WI-2", - "relations": [], - "state": "open", - "superseded_by": null, - "title": "labelled item", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "exit": 0, - "operation": "work.create" - }, - { - "body": null, - "exit": 1, - "operation": "work.create" - }, - { - "body": { - "detail": null, - "items": [ - { - "kind": "chore", - "priority": "p1", - "project_slug": null, - "ref": "WI-1", - "state": "open", - "title": "parity item renamed" - }, - { - "kind": "chore", - "priority": "p2", - "project_slug": null, - "ref": "WI-2", - "state": "open", - "title": "labelled item" - } - ], - "link_state": null, - "mode": "summary", - "next_offset": null, - "total": 2 - }, - "exit": 0, - "operation": "work.list" - }, - { - "body": null, - "exit": 1, - "operation": "work.list" - }, - { - "body": { - "branches": [], - "comments": [], - "git": null, - "item": { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0001", - "initiative_id": null, - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "project_id": null, - "project_slug": null, - "ref": "WI-1", - "relations": [], - "state": "open", - "superseded_by": null, - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "exit": 0, - "operation": "work.get" - }, - { - "body": { - "comment": { - "actor_display_name": "parity", - "actor_id": "act_0001", - "body": "parity note", - "created_at": "2026-01-02T03:04:05Z", - "handoff": null, - "id": "cmt_0001", - "kind": "note", - "work_item_id": "wrk_0001" - }, - "write_back": "skipped" - }, - "exit": 0, - "operation": "work.comment" - }, - { - "body": { - "branches": [], - "comments": [], - "git": null, - "item": { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0001", - "initiative_id": null, - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "project_id": null, - "project_slug": null, - "ref": "WI-1", - "relations": [], - "state": "in_progress", - "superseded_by": null, - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "exit": 0, - "operation": "work.transition" - }, - { - "body": { - "branches": [], - "comments": [], - "git": null, - "item": { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0001", - "initiative_id": null, - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "project_id": null, - "project_slug": null, - "ref": "WI-1", - "relations": [ - { - "kind": "relates_to", - "related_id": "wrk_0002", - "related_ref": "WI-2", - "related_state": "open", - "related_title": "labelled item" - } - ], - "state": "in_progress", - "superseded_by": null, - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "exit": 0, - "operation": "work.relate" - }, - { - "body": { - "branches": [], - "comments": [], - "git": null, - "item": { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0001", - "initiative_id": null, - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "project_id": null, - "project_slug": null, - "ref": "WI-1", - "relations": [], - "state": "in_progress", - "superseded_by": null, - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "exit": 0, - "operation": "work.unrelate" - }, - { - "body": { - "backlog_candidates": 2, - "cells": [ - { - "items": [ - { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0002", - "initiative_id": null, - "kind": "chore", - "labels": [ - "parity" - ], - "origin": "created", - "priority": "p2", - "project_id": null, - "project_slug": null, - "ref": "WI-2", - "relations": [], - "state": "open", - "superseded_by": null, - "title": "labelled item", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - } - ], - "lane_key": "", - "next_cursor": null, - "state": "open", - "total": 1 - } - ], - "column_totals": { - "in_progress": 1, - "open": 1 - }, - "declared_total": 2, - "excluded_unlinked": 0, - "lane_totals": { - "": 2 - }, - "link_state": null, - "revision": 20, - "snapshot": "eyJmaW5nZXJwcmludCI6InNoYTI1Njo2N2JkMGQ3MTUxN2JlYThkM2VkNmJjYWE0ZTFmZTY2YzYyNTM5MGRkNjg2ODI3MjM1Njk4MTUxMDg2ZDc0MDYzIiwiaGlnaF93YXRlciI6WyIyMDI2LTAxLTAyVDAzOjA0OjA1KzAwOjAwIiwiV0ktMiJdLCJraW5kIjoic25hcHNob3QiLCJyZXZpc2lvbiI6MjAsInNuYXBzaG90X2F0IjoiMjAyNi0wMS0wMlQwMzowNDowNSswMDowMCJ9", - "snapshot_at": "2026-01-02T03:04:05Z", - "total": 2 - }, - "exit": 0, - "operation": "board.list" - }, - { - "body": { - "closed_upstream": 0, - "declared": 2, - "excluded_unlinked": 0, - "freshness": { - "age_seconds": null, - "collectors": "", - "detail": "no collector has completed a sweep yet", - "oldest_relevant_sweep": null, - "status": "never_swept" - }, - "items": [ - { - "adopted_as": null, - "classified": true, - "item": null, - "kind": "chore", - "labels": [], - "observation_kind": null, - "observed_at": null, - "origin": "declared", - "priority": "p1", - "project_slug": null, - "ref": "WI-1", - "score": 52.0, - "source_url": null, - "state": "in_progress", - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - }, - { - "adopted_as": null, - "classified": true, - "item": null, - "kind": "chore", - "labels": [ - "parity" - ], - "observation_kind": null, - "observed_at": null, - "origin": "declared", - "priority": "p2", - "project_slug": null, - "ref": "WI-2", - "score": 22.0, - "source_url": null, - "state": "open", - "title": "labelled item", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - } - ], - "link_state": null, - "next_offset": null, - "observed": 0, - "scope": "global", - "suppressed": 0, - "total_considered": 2 - }, - "exit": 0, - "operation": "backlog" - }, - { - "body": null, - "exit": 1, - "operation": "backlog" - }, - { - "body": { - "closed_upstream": 0, - "declared": 0, - "excluded_unlinked": 0, - "freshness": { - "age_seconds": null, - "collectors": "", - "detail": "no collector has completed a sweep yet", - "oldest_relevant_sweep": null, - "status": "never_swept" - }, - "items": [], - "link_state": null, - "next_offset": null, - "observed": 0, - "scope": "global", - "suppressed": 0, - "total_considered": 0 - }, - "exit": 0, - "operation": "bugs" - }, - { - "body": null, - "exit": 1, - "operation": "bugs" - }, - { - "body": null, - "exit": 1, - "operation": "deps" - }, - { - "body": { - "comments": 1, - "export_format_version": 2, - "path": "/export.json", - "project": null, - "projects": 2, - "work_items": 2 - }, - "exit": 0, - "operation": "export" - }, - { - "body": { - "applied": false, - "base": "2026-01-02T03:04:05Z", - "base_source": "an export of this same instance: its exported_at", - "by_entity": { - "actor": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 4, - "updated": 0 - }, - "comment": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 1, - "updated": 0 - }, - "initiative": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 1, - "updated": 0 - }, - "label": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 1, - "updated": 0 - }, - "project": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 2, - "updated": 0 - }, - "work_item": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 2, - "updated": 0 - } - }, - "changes": [], - "conflicted": 0, - "created": 0, - "detail": "Dry run: nothing was written. Pass --apply --confirm to merge.", - "export_format_version": 2, - "instance_id": "ins_0001", - "project": null, - "projects": 2, - "skipped": 0, - "source": "/export.json", - "unchanged": 11, - "updated": 0, - "work_items": 2 - }, - "exit": 0, - "operation": "import" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "landing": null, - "main_branches": [], - "merge_deploys_prod": false, - "review": null, - "rules": [], - "session_wall_clock_minutes": null, - "test_recipe": "", - "verification": null - }, - "compliance_checked_at": null, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:05Z", - "contract_version": null, - "created_at": "2026-01-02T03:04:05Z", - "current_version": null, - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "active", - "link_state": "unlinked", - "name": "Parity", - "repo_url": "https://example.invalid/parity.git", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z", - "write_back": "full" - } - }, - "exit": 0, - "operation": "forge.writeback" - }, - { - "body": { - "actions": [ - { - "action": "comment", - "at": "2026-01-02T03:04:06Z", - "detail": "write-back is off for this project", - "id": "wbk_0001", - "outcome": "skipped", - "policy": "none", - "reason": "parity", - "source_url": null, - "subject_key": null - } - ] - }, - "exit": 0, - "operation": "forge.actions" - }, - { - "body": { - "actions": [ - { - "action": "comment", - "at": "2026-01-02T03:04:06Z", - "detail": "write-back is off for this project", - "id": "wbk_0001", - "outcome": "skipped", - "policy": "none", - "reason": "parity", - "source_url": null, - "subject_key": null - } - ] - }, - "exit": 0, - "operation": "forge.actions" - }, - { - "body": null, - "exit": 1, - "operation": "forge.repos" - }, - { - "body": { - "accounts": [] - }, - "exit": 0, - "operation": "forge.account_status" - }, - { - "body": null, - "exit": 1, - "operation": "forge.account_link" - }, - { - "body": { - "contributions": [ - { - "contribution": 55.0, - "detail": "p1", - "input": "priority", - "value": 1.0, - "weight": 55.0 - }, - { - "contribution": 0.0, - "detail": "0.0 days since last change", - "input": "staleness", - "value": 0.0, - "weight": 0.5 - }, - { - "contribution": 0.0, - "detail": "0 item(s) depend on this one", - "input": "blocking_fan_out", - "value": 0.0, - "weight": 8.0 - }, - { - "contribution": 0.0, - "detail": "no initiative", - "input": "initiative_weight", - "value": 0.0, - "weight": 0.25 - }, - { - "contribution": -3.0, - "detail": "trust state unverified", - "input": "trust_penalty", - "value": 1.0, - "weight": -3.0 - }, - { - "contribution": 0.0, - "detail": "no open pull request", - "input": "open_pr", - "value": 0.0, - "weight": 12.0 - }, - { - "contribution": 0.0, - "detail": "no branch observed", - "input": "branch_activity", - "value": 0.0, - "weight": 8.0 - } - ], - "inputs_not_yet_available": { - "ci_red_boost": "arrives with the CI check observations it reads" - }, - "ref": "WI-1", - "title": "parity item renamed", - "total": 52.0 - }, - "exit": 0, - "operation": "why" - }, - { - "body": null, - "exit": 1, - "operation": "why" - }, - { - "body": { - "detail": null, - "items": [ - { - "assignee_actor_id": null, - "assignee_identity_ref": null, - "body": "", - "created_at": "2026-01-02T03:04:05Z", - "effort": null, - "id": "wrk_0001", - "initiative_id": null, - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "project_id": null, - "project_slug": null, - "ref": "WI-1", - "relations": [], - "state": "in_progress", - "superseded_by": null, - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:05Z" - } - ], - "link_state": null, - "mode": "full", - "next_offset": 1, - "total": 2 - }, - "exit": 0, - "operation": "work.list" - }, - { - "body": { - "detail": null, - "items": [ - { - "kind": "chore", - "priority": "p2", - "project_slug": null, - "ref": "WI-2", - "state": "open", - "title": "labelled item" - } - ], - "link_state": null, - "mode": "summary", - "next_offset": null, - "total": 2 - }, - "exit": 0, - "operation": "work.list" - }, - { - "body": { - "items": [ - { - "kind": "chore", - "priority": "p1", - "project_slug": null, - "ref": "WI-1", - "state": "in_progress", - "title": "parity item renamed" - }, - { - "kind": "chore", - "priority": "p2", - "project_slug": null, - "ref": "WI-2", - "state": "open", - "title": "labelled item" - } - ], - "missing": [ - "WI-404" - ] - }, - "exit": 0, - "operation": "work.get_many" - }, - { - "body": { - "records": [ - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "prj_0001", - "entity_kind": "project", - "id": "aud_0022", - "operation": "project.writeback", - "payload_digest": "sha256:5160587a6bd4fd6e1c8cfdfbe9e7b71a0aff7cb411b75e8ad277bea16adfdf65", - "reason": "parity harness", - "revision": 21, - "txn_id": "txn_0023" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:05Z", - "entity_id": "wrk_0001", - "entity_kind": "work_item", - "id": "aud_0021", - "operation": "work.unrelate", - "payload_digest": "sha256:919ba7f4a526f308300142a25947bcafa3b9df9267bbef6a486125710e1f95b4", - "reason": "parity", - "revision": 20, - "txn_id": "txn_0022" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "wrk_0001", - "entity_kind": "work_item", - "id": "aud_0020", - "operation": "work.relate", - "payload_digest": "sha256:919ba7f4a526f308300142a25947bcafa3b9df9267bbef6a486125710e1f95b4", - "reason": "parity", - "revision": 19, - "txn_id": "txn_0021" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "wrk_0001", - "entity_kind": "work_item", - "id": "aud_0019", - "operation": "work.transition", - "payload_digest": "sha256:e29def8eb3987143cc71db472521260af60e6205bd7f2d4cb0cad1c34d95484e", - "reason": "parity", - "revision": 18, - "txn_id": "txn_0020" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:07Z", - "entity_id": "cmt_0001", - "entity_kind": "comment", - "id": "aud_0018", - "operation": "work.comment", - "payload_digest": "sha256:c0759a6538411595d62b368f304a00fa97626be794ec4750d566dfebaf313e68", - "reason": "parity", - "revision": 17, - "txn_id": "txn_0019" - } - ], - "total": 22 - }, - "exit": 0, - "operation": "audit.list" - }, - { - "body": null, - "exit": 1, - "operation": "work.bind_branch" - }, - { - "body": null, - "exit": 1, - "operation": "work.adopt" - }, - { - "body": { - "digests": [], - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "hidden_count": 0, - "sessions": [], - "total": 0, - "truncated": false - }, - "exit": 0, - "operation": "session.list" - }, - { - "body": { - "counts": { - "needs_you": 0, - "total": 0 - }, - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "rows": [], - "swept_at": "2026-01-02T03:04:05Z" - }, - "exit": 0, - "operation": "session.sweep" - }, - { - "body": { - "bytes": 0, - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "session_id": null, - "text": "", - "total_bytes": 0, - "truncated": false - }, - "exit": 0, - "operation": "session.log_tail" - }, - { - "body": null, - "exit": 1, - "operation": "session.start" - }, - { - "body": null, - "exit": 1, - "operation": "session.input" - }, - { - "body": null, - "exit": 1, - "operation": "session.screen" - }, - { - "body": null, - "exit": 1, - "operation": "session.wait" - }, - { - "body": null, - "exit": 1, - "operation": "session.answer" - }, - { - "body": null, - "exit": 1, - "operation": "session.hibernate" - }, - { - "body": null, - "exit": 1, - "operation": "session.keep_awake" - }, - { - "body": null, - "exit": 1, - "operation": "session.set_role" - }, - { - "body": null, - "exit": 1, - "operation": "session.wake" - }, - { - "body": null, - "exit": 1, - "operation": "session.stop" - }, - { - "body": null, - "error": "error: engine_unavailable: no session engine is configured, and chats run on it (set VOGT_ENGINE_URL)", - "exit": 1, - "operation": "chat.list" - }, - { - "body": null, - "error": "error: invalid_request: 'nope' is not a chat id (a UUID, from chat.list or chat.create)", - "exit": 1, - "operation": "chat.get" - }, - { - "body": { - "user": { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:04:05Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:04:05Z", - "username": "ada" - } - }, - "exit": 0, - "operation": "user.create" - }, - { - "body": { - "users": [ - { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:04:05Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:04:05Z", - "username": "ada" - } - ] - }, - "exit": 0, - "operation": "user.list" - }, - { - "body": { - "user": { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:04:05Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:04:05Z", - "username": "ada" - } - }, - "exit": 0, - "operation": "user.set_password" - }, - { - "body": { - "tokens": [ - { - "actor_id": "act_0003", - "actor_identity_ref": "agent:vogt-sessions", - "created_at": "2026-01-02T03:04:15Z", - "expires_at": null, - "id": "tok_0002", - "kind": "api", - "last_used_at": null, - "name": "bootstrap agent token", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - }, - { - "actor_id": "act_0002", - "actor_identity_ref": "agent:vogt-engine", - "created_at": "2026-01-02T03:04:11Z", - "expires_at": null, - "id": "tok_0001", - "kind": "api", - "last_used_at": null, - "name": "bootstrap core token", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "read", - "work.write", - "project.write" - ] - } - ] - }, - "exit": 0, - "operation": "token.list" - }, - { - "body": { - "token": { - "actor_id": "act_0003", - "actor_identity_ref": "agent:vogt-sessions", - "created_at": "2026-01-02T03:04:15Z", - "expires_at": null, - "id": "tok_0002", - "kind": "api", - "last_used_at": null, - "name": "bootstrap agent token", - "revoked_at": "2026-01-02T03:04:05Z", - "revoked_reason": "parity harness", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - "exit": 0, - "operation": "token.revoke" - }, - { - "body": { - "display_name": "parity", - "identity_ref": "local:parity", - "kind": "human", - "scopes": [ - "admin", - "project.write", - "read", - "work.write", - "writeback" - ], - "token": null - }, - "exit": 0, - "operation": "auth.whoami" - }, - { - "body": { - "declared_schema_version": 24, - "engine_state": "not configured", - "import_root": "/instance/repos", - "instance_id": "ins_0001", - "observed_schema_version": 6, - "path": "/backup", - "taken_at": "2026-01-02T03:04:05Z" - }, - "exit": 0, - "operation": "backup" - }, - { - "body": { - "declared_schema_version": 24, - "engine_state": "not in this backup", - "import_root_now": "/instance/repos", - "import_root_then": "/instance/repos", - "instance_id": "ins_0001", - "migrations_applied": [], - "restored_from": "2026-01-02T03:04:05Z", - "source": "/backup" - }, - "exit": 0, - "operation": "restore" - }, - { - "body": { - "sessions_revoked": 0, - "username": "ada" - }, - "exit": 0, - "operation": "user.remove" - }, - { - "body": { - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12Z", - "audit_id": "aud_0002", - "entity_id": "tok_0001", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 1, - "summary": { - "actor": "agent:vogt-engine", - "scopes": [ - "read", - "work.write", - "project.write" - ] - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16Z", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": { - "actor": "agent:vogt-sessions", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:06Z", - "audit_id": "aud_0004", - "entity_id": "act_0004", - "entity_kind": "actor", - "kind": "actor.created", - "seq": 3, - "summary": { - "identity_ref": "agent:parity", - "kind": "agent" - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:06Z", - "audit_id": "aud_0005", - "entity_id": "lbl_0001", - "entity_kind": "label", - "kind": "label.created", - "seq": 4, - "summary": { - "name": "parity" - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:06Z", - "audit_id": "aud_0006", - "entity_id": "prj_0001", - "entity_kind": "project", - "kind": "project.registered", - "seq": 5, - "summary": { - "name": "Parity", - "slug": "parity" - } - } - ], - "next_cursor": 5 - }, - "exit": 0, - "operation": "events.list" - }, - { - "body": { - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16Z", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": { - "actor": "agent:vogt-sessions", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:06Z", - "audit_id": "aud_0004", - "entity_id": "act_0004", - "entity_kind": "actor", - "kind": "actor.created", - "seq": 3, - "summary": { - "identity_ref": "agent:parity", - "kind": "agent" - } - } - ], - "next_cursor": 3 - }, - "exit": 0, - "operation": "events.list" - }, - { - "body": { - "records": [ - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0026", - "operation": "user.remove", - "payload_digest": "sha256:6cb1b570d1a756565af0191ec35d1fed1dc103ed9b82afa000b68a0172b6f711", - "reason": "parity harness", - "revision": 25, - "txn_id": "txn_0029" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0025", - "operation": "token.revoke", - "payload_digest": "sha256:5b5962b852bf72720c110fabfda9bea2589305bb33f47f25d1361ce815fa78c9", - "reason": "parity harness", - "revision": 24, - "txn_id": "txn_0027" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0024", - "operation": "user.set_password", - "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", - "reason": "parity harness", - "revision": 23, - "txn_id": "txn_0026" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0023", - "operation": "user.create", - "payload_digest": "sha256:67e02676f1f6d286e8b3624b34c5496ed548e0ac92c3485f85c350f4c54dcce7", - "reason": "parity harness", - "revision": 22, - "txn_id": "txn_0025" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "prj_0001", - "entity_kind": "project", - "id": "aud_0022", - "operation": "project.writeback", - "payload_digest": "sha256:5160587a6bd4fd6e1c8cfdfbe9e7b71a0aff7cb411b75e8ad277bea16adfdf65", - "reason": "parity harness", - "revision": 21, - "txn_id": "txn_0023" - } - ], - "total": 26 - }, - "exit": 0, - "operation": "audit.list" - }, - { - "body": { - "records": [ - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0025", - "operation": "token.revoke", - "payload_digest": "sha256:5b5962b852bf72720c110fabfda9bea2589305bb33f47f25d1361ce815fa78c9", - "reason": "parity harness", - "revision": 24, - "txn_id": "txn_0027" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:06Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0024", - "operation": "user.set_password", - "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", - "reason": "parity harness", - "revision": 23, - "txn_id": "txn_0026" - } - ], - "total": 26 - }, - "exit": 0, - "operation": "audit.list" - }, - { - "body": null, - "exit": 1, - "operation": "clone" - }, - { - "body": null, - "exit": 1, - "operation": "clone" - }, - { - "body": null, - "exit": 1, - "operation": "clone" - }, - { - "body": null, - "exit": 1, - "operation": "project.import" - }, - { - "body": null, - "exit": 1, - "operation": "project.import" - } -] diff --git a/tests/parity/golden/21c95f6-s2/http.json b/tests/parity/golden/21c95f6-s2/http.json deleted file mode 100644 index f8b73a74..00000000 --- a/tests/parity/golden/21c95f6-s2/http.json +++ /dev/null @@ -1,2044 +0,0 @@ -[ - { - "operation": "http.health.live", - "result": { - "status": "ok", - "version": "" - }, - "status": 200 - }, - { - "operation": "http.health.ready", - "result": { - "declared_schema_expected": 24, - "declared_schema_version": 24, - "detail": null, - "instance_id": "ins_0001", - "observed_schema_expected": 6, - "observed_schema_version": 6, - "status": "ready" - }, - "status": 200 - }, - { - "operation": "http.version", - "result": { - "name": "vogt", - "version": "" - }, - "status": 200 - }, - { - "operation": "http.connection_info", - "result": { - "api_path": "/api", - "authentication": "bearer token", - "health_path": "/health/ready", - "mcp_path": "/mcp", - "name": "vogt", - "supported_mcp_protocol_versions": [ - "2025-06-18", - "2025-03-26", - "2024-11-05" - ], - "url": null, - "version": "", - "writes_enabled": true - }, - "status": 200 - }, - { - "operation": "install.bootstrap", - "result": { - "actor": { - "created_at": "2026-01-02T03:04:06Z", - "disabled": false, - "display_name": "Ada Lovelace", - "id": "act_0004", - "identity_ref": "human:ada-lovelace", - "kind": "human" - }, - "secret": "", - "token": { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "created_at": "2026-01-02T03:04:05Z", - "expires_at": null, - "id": "tok_0003", - "kind": "api", - "last_used_at": null, - "name": "first-run browser token", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "admin" - ] - }, - "username": null, - "warning": "This is the only time the secret is shown. It is not stored and cannot be recovered \u2014 losing it means issuing another over the loopback surface." - }, - "status": 200 - }, - { - "operation": "why", - "result": { - "error": { - "code": "not_found", - "message": "no work item or observed subject 'WI-1'" - } - }, - "status": 404 - }, - { - "operation": "why", - "result": { - "error": { - "code": "not_found", - "message": "no work item or observed subject 'WI-404'" - } - }, - "status": 404 - }, - { - "operation": "work.list", - "result": { - "detail": null, - "items": [], - "link_state": null, - "mode": "full", - "next_offset": null, - "total": 0 - }, - "status": 200 - }, - { - "operation": "work.list", - "result": { - "detail": null, - "items": [], - "link_state": null, - "mode": "summary", - "next_offset": null, - "total": 0 - }, - "status": 200 - }, - { - "operation": "work.get_many", - "result": { - "items": [], - "missing": [ - "WI-1", - "WI-404", - "WI-2" - ] - }, - "status": 200 - }, - { - "operation": "audit.list", - "result": { - "records": [ - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "at": "2026-01-02T03:04:07Z", - "entity_id": "tok_0003", - "entity_kind": "token", - "id": "aud_0005", - "operation": "install.bootstrap", - "payload_digest": "sha256:b19d0ae7d972de7a7d247d64fc4db90184619cd1db18a41a4d0e6b2a31a72d32", - "reason": "first-run install bootstrap for human:ada-lovelace", - "revision": 3, - "txn_id": "txn_0004" - }, - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "at": "2026-01-02T03:04:06Z", - "entity_id": "act_0004", - "entity_kind": "actor", - "id": "aud_0004", - "operation": "actor.auto_register", - "payload_digest": "sha256:87af525aec71a14661415e1c50dcf914634e2707473b601ae5fe8254bca3cf4d", - "reason": "first authenticated use by human:ada-lovelace; auto-registered so the write it accompanies can be attributed", - "revision": 3, - "txn_id": "txn_0004" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:16Z", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0003", - "operation": "token.adopt", - "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", - "reason": "adopting the operator-supplied agent token at init", - "revision": 2, - "txn_id": "txn_0003" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:12Z", - "entity_id": "tok_0001", - "entity_kind": "token", - "id": "aud_0002", - "operation": "token.adopt", - "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", - "reason": "adopting the operator-supplied core token at init", - "revision": 1, - "txn_id": "txn_0002" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:07Z", - "entity_id": "ins_0001", - "entity_kind": "instance", - "id": "aud_0001", - "operation": "instance.init", - "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", - "reason": "instance bootstrap", - "revision": 0, - "txn_id": "txn_0001" - } - ], - "total": 5 - }, - "status": 200 - }, - { - "operation": "work.bind_branch", - "result": { - "error": { - "code": "not_found", - "message": "no work item 'WI-1'" - } - }, - "status": 404 - }, - { - "operation": "work.adopt", - "result": { - "error": { - "code": "not_found", - "message": "no observed subject 'gh:parity-org/parity#404'" - } - }, - "status": 404 - }, - { - "operation": "session.list", - "result": { - "digests": [], - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "hidden_count": 0, - "sessions": [], - "total": 0, - "truncated": false - }, - "status": 200 - }, - { - "operation": "session.sweep", - "result": { - "counts": { - "needs_you": 0, - "total": 0 - }, - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "rows": [], - "swept_at": "2026-01-02T03:04:06Z" - }, - "status": 200 - }, - { - "operation": "session.log_tail", - "result": { - "bytes": 0, - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "session_id": null, - "text": "", - "total_bytes": 0, - "truncated": false - }, - "status": 200 - }, - { - "operation": "session.start", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.input", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.screen", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.wait", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.answer", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.hibernate", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.keep_awake", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.set_role", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.wake", - "result": { - "error": { - "code": "engine_unavailable", - "message": "no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - } - }, - "status": 502 - }, - { - "operation": "session.stop", - "result": { - "error": { - "code": "not_found", - "message": "no session 'ses_00000000000000000000000000'" - } - }, - "status": 404 - }, - { - "operation": "label.create", - "result": { - "label": { - "color": null, - "created_at": "2026-01-02T03:04:06Z", - "id": "lbl_0001", - "name": "bug" - } - }, - "status": 200 - }, - { - "operation": "token.issue", - "result": { - "secret": "", - "token": { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "created_at": "2026-01-02T03:04:06Z", - "expires_at": null, - "id": "tok_0004", - "kind": "api", - "last_used_at": null, - "name": "reader", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "read" - ] - }, - "warning": "This is the only time the secret is shown. Store it in a file and point VOGT_TOKEN_FILE at it \u2014 never in argv or a URL." - }, - "status": 200 - }, - { - "operation": "label.create", - "result": { - "error": { - "code": "forbidden", - "message": "label.create requires the 'work.write' scope; this token holds read" - } - }, - "status": 403 - }, - { - "operation": "auth.logout", - "result": { - "revoked": true, - "token": { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "created_at": "2026-01-02T03:04:06Z", - "expires_at": null, - "id": "tok_0004", - "kind": "api", - "last_used_at": "2026-01-02T03:04:06Z", - "name": "reader", - "revoked_at": "2026-01-02T03:04:06Z", - "revoked_reason": "done", - "scopes": [ - "read" - ] - } - }, - "status": 200 - }, - { - "operation": "user.create", - "result": { - "user": { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:04:06Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:04:06Z", - "username": "ada" - } - }, - "status": 200 - }, - { - "operation": "user.list", - "result": { - "users": [ - { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:04:06Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:04:06Z", - "username": "ada" - } - ] - }, - "status": 200 - }, - { - "operation": "user.set_password", - "result": { - "user": { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:04:06Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:04:06Z", - "username": "ada" - } - }, - "status": 200 - }, - { - "operation": "token.list", - "result": { - "tokens": [ - { - "actor_id": "act_0003", - "actor_identity_ref": "agent:vogt-sessions", - "created_at": "2026-01-02T03:04:15Z", - "expires_at": null, - "id": "tok_0002", - "kind": "api", - "last_used_at": null, - "name": "bootstrap agent token", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - }, - { - "actor_id": "act_0002", - "actor_identity_ref": "agent:vogt-engine", - "created_at": "2026-01-02T03:04:11Z", - "expires_at": null, - "id": "tok_0001", - "kind": "api", - "last_used_at": null, - "name": "bootstrap core token", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "read", - "work.write", - "project.write" - ] - }, - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "created_at": "2026-01-02T03:04:06Z", - "expires_at": null, - "id": "tok_0004", - "kind": "api", - "last_used_at": "2026-01-02T03:04:06Z", - "name": "reader", - "revoked_at": "2026-01-02T03:04:06Z", - "revoked_reason": "done", - "scopes": [ - "read" - ] - }, - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "created_at": "2026-01-02T03:04:05Z", - "expires_at": null, - "id": "tok_0003", - "kind": "api", - "last_used_at": "2026-01-02T03:04:06Z", - "name": "first-run browser token", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "admin" - ] - } - ] - }, - "status": 200 - }, - { - "operation": "token.revoke", - "result": { - "token": { - "actor_id": "act_0003", - "actor_identity_ref": "agent:vogt-sessions", - "created_at": "2026-01-02T03:04:15Z", - "expires_at": null, - "id": "tok_0002", - "kind": "api", - "last_used_at": null, - "name": "bootstrap agent token", - "revoked_at": "2026-01-02T03:04:06Z", - "revoked_reason": "parity harness", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - "status": 200 - }, - { - "operation": "auth.whoami", - "result": { - "display_name": "Ada Lovelace", - "identity_ref": "human:ada-lovelace", - "kind": "human", - "scopes": [ - "admin", - "project.write", - "read", - "work.write", - "writeback" - ], - "token": { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "created_at": "2026-01-02T03:04:05Z", - "expires_at": null, - "id": "tok_0003", - "kind": "api", - "last_used_at": "2026-01-02T03:04:06Z", - "name": "first-run browser token", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "admin" - ] - } - }, - "status": 200 - }, - { - "operation": "auth.login", - "result": { - "actor": { - "created_at": "2026-01-02T03:04:06Z", - "disabled": false, - "display_name": "Ada Lovelace", - "id": "act_0005", - "identity_ref": "human:ada", - "kind": "human" - }, - "secret": "", - "token": { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:04:05Z", - "expires_at": "2026-02-01T03:04:05Z", - "id": "tok_0005", - "kind": "session", - "last_used_at": null, - "name": "browser session", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "read", - "work.write", - "project.write" - ] - } - }, - "status": 200 - }, - { - "operation": "auth.whoami", - "result": { - "display_name": "Ada Lovelace", - "identity_ref": "human:ada", - "kind": "human", - "scopes": [ - "project.write", - "read", - "work.write" - ], - "token": { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:04:05Z", - "expires_at": "2026-02-01T03:04:05Z", - "id": "tok_0005", - "kind": "session", - "last_used_at": null, - "name": "browser session", - "revoked_at": null, - "revoked_reason": null, - "scopes": [ - "read", - "work.write", - "project.write" - ] - } - }, - "status": 200 - }, - { - "operation": "user.remove", - "result": { - "sessions_revoked": 1, - "username": "ada" - }, - "status": 200 - }, - { - "operation": "events.list", - "result": { - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12Z", - "audit_id": "aud_0002", - "entity_id": "tok_0001", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 1, - "summary": { - "actor": "agent:vogt-engine", - "scopes": [ - "read", - "work.write", - "project.write" - ] - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16Z", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": { - "actor": "agent:vogt-sessions", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:06Z", - "audit_id": "aud_0004", - "entity_id": "act_0004", - "entity_kind": "actor", - "kind": "actor.auto_register", - "seq": 3, - "summary": { - "identity_ref": "human:ada-lovelace", - "kind": "human" - } - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07Z", - "audit_id": "aud_0005", - "entity_id": "tok_0003", - "entity_kind": "token", - "kind": "install.bootstrapped", - "seq": 4, - "summary": { - "actor": "human:ada-lovelace", - "scopes": [ - "admin" - ] - } - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07Z", - "audit_id": "aud_0006", - "entity_id": "lbl_0001", - "entity_kind": "label", - "kind": "label.created", - "seq": 5, - "summary": { - "name": "bug" - } - } - ], - "next_cursor": 5 - }, - "status": 200 - }, - { - "operation": "events.list", - "result": { - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16Z", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": { - "actor": "agent:vogt-sessions", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:06Z", - "audit_id": "aud_0004", - "entity_id": "act_0004", - "entity_kind": "actor", - "kind": "actor.auto_register", - "seq": 3, - "summary": { - "identity_ref": "human:ada-lovelace", - "kind": "human" - } - } - ], - "next_cursor": 3 - }, - "status": 200 - }, - { - "operation": "audit.list", - "result": { - "records": [ - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "at": "2026-01-02T03:04:07Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0013", - "operation": "user.remove", - "payload_digest": "sha256:c641563a061b879b4b32211c6b39a7a2eeb71a7a114359133e079bc16f1b4bfa", - "reason": "parity harness", - "revision": 11, - "txn_id": "txn_0013" - }, - { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "at": "2026-01-02T03:04:06Z", - "entity_id": "tok_0005", - "entity_kind": "token", - "id": "aud_0012", - "operation": "auth.login", - "payload_digest": "sha256:079f75e3b73e507a9203394b2f453386de6362973c6d3e9dfa6ddfee0201f931", - "reason": "password login by ada", - "revision": 10, - "txn_id": "txn_0012" - }, - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "at": "2026-01-02T03:04:07Z", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0011", - "operation": "token.revoke", - "payload_digest": "sha256:d331a6f9ffa337f5bbea02b91117f85c4a54fe0e8550538ef0ccbe9757a74c7a", - "reason": "parity harness", - "revision": 9, - "txn_id": "txn_0011" - }, - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "at": "2026-01-02T03:04:07Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0010", - "operation": "user.set_password", - "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", - "reason": "parity harness", - "revision": 8, - "txn_id": "txn_0010" - }, - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "at": "2026-01-02T03:04:07Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0009", - "operation": "user.create", - "payload_digest": "sha256:67e02676f1f6d286e8b3624b34c5496ed548e0ac92c3485f85c350f4c54dcce7", - "reason": "parity harness", - "revision": 7, - "txn_id": "txn_0009" - } - ], - "total": 13 - }, - "status": 200 - }, - { - "operation": "audit.list", - "result": { - "records": [ - { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "at": "2026-01-02T03:04:06Z", - "entity_id": "tok_0005", - "entity_kind": "token", - "id": "aud_0012", - "operation": "auth.login", - "payload_digest": "sha256:079f75e3b73e507a9203394b2f453386de6362973c6d3e9dfa6ddfee0201f931", - "reason": "password login by ada", - "revision": 10, - "txn_id": "txn_0012" - }, - { - "actor_id": "act_0004", - "actor_identity_ref": "human:ada-lovelace", - "at": "2026-01-02T03:04:07Z", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0011", - "operation": "token.revoke", - "payload_digest": "sha256:d331a6f9ffa337f5bbea02b91117f85c4a54fe0e8550538ef0ccbe9757a74c7a", - "reason": "parity harness", - "revision": 9, - "txn_id": "txn_0011" - } - ], - "total": 13 - }, - "status": 200 - }, - { - "operation": "project.import", - "result": { - "error": { - "code": "invalid_request", - "message": "'not a repo!' does not name a GitHub repository or a configured Forgejo repository; give owner/name, host/owner/name, or a repository URL" - } - }, - "status": 400 - }, - { - "operation": "project.import", - "result": { - "error": { - "code": "invalid_request", - "message": "'not a repo!' does not name a GitHub repository or a configured Forgejo repository; give owner/name, host/owner/name, or a repository URL" - } - }, - "status": 400 - }, - { - "operation": "dump", - "result": { - "actors": [ - { - "created_at": "2026-01-02T03:04:07+00:00", - "disabled": 0, - "display_name": "parity", - "id": "act_0001", - "identity_ref": "local:parity", - "kind": "human" - }, - { - "created_at": "2026-01-02T03:04:09+00:00", - "disabled": 0, - "display_name": "agent:vogt-engine", - "id": "act_0002", - "identity_ref": "agent:vogt-engine", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:13+00:00", - "disabled": 0, - "display_name": "agent:vogt-sessions", - "id": "act_0003", - "identity_ref": "agent:vogt-sessions", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:06+00:00", - "disabled": 0, - "display_name": "Ada Lovelace", - "id": "act_0004", - "identity_ref": "human:ada-lovelace", - "kind": "human" - }, - { - "created_at": "2026-01-02T03:04:06+00:00", - "disabled": 0, - "display_name": "Ada Lovelace", - "id": "act_0005", - "identity_ref": "human:ada", - "kind": "human" - } - ], - "audit": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "ins_0001", - "entity_kind": "instance", - "id": "aud_0001", - "operation": "instance.init", - "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", - "reason": "instance bootstrap", - "revision": 0, - "txn_id": "txn_0001" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12+00:00", - "entity_id": "tok_0001", - "entity_kind": "token", - "id": "aud_0002", - "operation": "token.adopt", - "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", - "reason": "adopting the operator-supplied core token at init", - "revision": 1, - "txn_id": "txn_0002" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16+00:00", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0003", - "operation": "token.adopt", - "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", - "reason": "adopting the operator-supplied agent token at init", - "revision": 2, - "txn_id": "txn_0003" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:06+00:00", - "entity_id": "act_0004", - "entity_kind": "actor", - "id": "aud_0004", - "operation": "actor.auto_register", - "payload_digest": "sha256:87af525aec71a14661415e1c50dcf914634e2707473b601ae5fe8254bca3cf4d", - "reason": "first authenticated use by human:ada-lovelace; auto-registered so the write it accompanies can be attributed", - "revision": 3, - "txn_id": "txn_0004" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "tok_0003", - "entity_kind": "token", - "id": "aud_0005", - "operation": "install.bootstrap", - "payload_digest": "sha256:b19d0ae7d972de7a7d247d64fc4db90184619cd1db18a41a4d0e6b2a31a72d32", - "reason": "first-run install bootstrap for human:ada-lovelace", - "revision": 3, - "txn_id": "txn_0004" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "lbl_0001", - "entity_kind": "label", - "id": "aud_0006", - "operation": "label.create", - "payload_digest": "sha256:1b0a972c9944e759355152203a12fb36104f692b1f1911217107dcd4f75b8ccd", - "reason": "seed", - "revision": 4, - "txn_id": "txn_0006" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "tok_0004", - "entity_kind": "token", - "id": "aud_0007", - "operation": "token.issue", - "payload_digest": "sha256:1efafbf3c435f850162b7fdb5f1a1f97b97eb7bae0490f291c1731c7a390ee5a", - "reason": "a read token", - "revision": 5, - "txn_id": "txn_0007" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "tok_0004", - "entity_kind": "token", - "id": "aud_0008", - "operation": "auth.logout", - "payload_digest": "sha256:77f2ce31482b0061e1a20b86d2de25c0b43a6eaff6c025be826208b0dec15fe3", - "reason": "done", - "revision": 6, - "txn_id": "txn_0008" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0009", - "operation": "user.create", - "payload_digest": "sha256:67e02676f1f6d286e8b3624b34c5496ed548e0ac92c3485f85c350f4c54dcce7", - "reason": "parity harness", - "revision": 7, - "txn_id": "txn_0009" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0010", - "operation": "user.set_password", - "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", - "reason": "parity harness", - "revision": 8, - "txn_id": "txn_0010" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0011", - "operation": "token.revoke", - "payload_digest": "sha256:d331a6f9ffa337f5bbea02b91117f85c4a54fe0e8550538ef0ccbe9757a74c7a", - "reason": "parity harness", - "revision": 9, - "txn_id": "txn_0011" - }, - { - "actor_id": "act_0005", - "at": "2026-01-02T03:04:06+00:00", - "entity_id": "tok_0005", - "entity_kind": "token", - "id": "aud_0012", - "operation": "auth.login", - "payload_digest": "sha256:079f75e3b73e507a9203394b2f453386de6362973c6d3e9dfa6ddfee0201f931", - "reason": "password login by ada", - "revision": 10, - "txn_id": "txn_0012" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0013", - "operation": "user.remove", - "payload_digest": "sha256:c641563a061b879b4b32211c6b39a7a2eeb71a7a114359133e079bc16f1b4bfa", - "reason": "parity harness", - "revision": 11, - "txn_id": "txn_0013" - } - ], - "auth_decisions": [ - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0001", - "identity_ref": "human:ada-lovelace", - "operation": "why", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0002", - "identity_ref": "human:ada-lovelace", - "operation": "why", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0003", - "identity_ref": "human:ada-lovelace", - "operation": "work.list", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0004", - "identity_ref": "human:ada-lovelace", - "operation": "work.list", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0005", - "identity_ref": "human:ada-lovelace", - "operation": "work.get_many", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0006", - "identity_ref": "human:ada-lovelace", - "operation": "audit.list", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0007", - "identity_ref": "human:ada-lovelace", - "operation": "work.bind_branch", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0008", - "identity_ref": "human:ada-lovelace", - "operation": "work.adopt", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0009", - "identity_ref": "human:ada-lovelace", - "operation": "session.list", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0010", - "identity_ref": "human:ada-lovelace", - "operation": "session.sweep", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0011", - "identity_ref": "human:ada-lovelace", - "operation": "session.log_tail", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0012", - "identity_ref": "human:ada-lovelace", - "operation": "session.start", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0013", - "identity_ref": "human:ada-lovelace", - "operation": "session.input", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0014", - "identity_ref": "human:ada-lovelace", - "operation": "session.screen", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0015", - "identity_ref": "human:ada-lovelace", - "operation": "session.wait", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0016", - "identity_ref": "human:ada-lovelace", - "operation": "session.answer", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0017", - "identity_ref": "human:ada-lovelace", - "operation": "session.hibernate", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0018", - "identity_ref": "human:ada-lovelace", - "operation": "session.keep_awake", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0019", - "identity_ref": "human:ada-lovelace", - "operation": "session.set_role", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0020", - "identity_ref": "human:ada-lovelace", - "operation": "session.wake", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0021", - "identity_ref": "human:ada-lovelace", - "operation": "session.stop", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0022", - "identity_ref": "human:ada-lovelace", - "operation": "label.create", - "reason_code": "token_valid", - "scope": "work.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0023", - "identity_ref": "human:ada-lovelace", - "operation": "token.issue", - "reason_code": "token_valid", - "scope": "admin", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "deny", - "detail": null, - "id": "aut_0024", - "identity_ref": "human:ada-lovelace", - "operation": "label.create", - "reason_code": "missing_scope", - "scope": "work.write", - "token_id": "tok_0004", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0025", - "identity_ref": "human:ada-lovelace", - "operation": "auth.logout", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0004", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0026", - "identity_ref": "human:ada-lovelace", - "operation": "user.create", - "reason_code": "token_valid", - "scope": "admin", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0027", - "identity_ref": "human:ada-lovelace", - "operation": "user.list", - "reason_code": "token_valid", - "scope": "admin", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0028", - "identity_ref": "human:ada-lovelace", - "operation": "user.set_password", - "reason_code": "token_valid", - "scope": "admin", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0029", - "identity_ref": "human:ada-lovelace", - "operation": "token.list", - "reason_code": "token_valid", - "scope": "admin", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0030", - "identity_ref": "human:ada-lovelace", - "operation": "token.revoke", - "reason_code": "token_valid", - "scope": "admin", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0031", - "identity_ref": "human:ada-lovelace", - "operation": "auth.whoami", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0005", - "at": "2026-01-02T03:04:07+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0032", - "identity_ref": "human:ada", - "operation": "auth.login", - "reason_code": "login_ok", - "scope": null, - "token_id": "tok_0005", - "transport": "http" - }, - { - "actor_id": "act_0005", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0033", - "identity_ref": "human:ada", - "operation": "auth.whoami", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0005", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0034", - "identity_ref": "human:ada-lovelace", - "operation": "user.remove", - "reason_code": "token_valid", - "scope": "admin", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0035", - "identity_ref": "human:ada-lovelace", - "operation": "events.list", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0036", - "identity_ref": "human:ada-lovelace", - "operation": "events.list", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0037", - "identity_ref": "human:ada-lovelace", - "operation": "audit.list", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0038", - "identity_ref": "human:ada-lovelace", - "operation": "audit.list", - "reason_code": "token_valid", - "scope": "read", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0039", - "identity_ref": "human:ada-lovelace", - "operation": "project.import", - "reason_code": "token_valid", - "scope": "project.write", - "token_id": "tok_0003", - "transport": "http" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:05+00:00", - "decision": "allow", - "detail": null, - "id": "aut_0040", - "identity_ref": "human:ada-lovelace", - "operation": "project.import", - "reason_code": "token_valid", - "scope": "project.write", - "token_id": "tok_0003", - "transport": "http" - } - ], - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12+00:00", - "audit_id": "aud_0002", - "entity_id": "tok_0001", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 1, - "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16+00:00", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:06+00:00", - "audit_id": "aud_0004", - "entity_id": "act_0004", - "entity_kind": "actor", - "kind": "actor.auto_register", - "seq": 3, - "summary": "{\"identity_ref\": \"human:ada-lovelace\", \"kind\": \"human\"}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "audit_id": "aud_0005", - "entity_id": "tok_0003", - "entity_kind": "token", - "kind": "install.bootstrapped", - "seq": 4, - "summary": "{\"actor\": \"human:ada-lovelace\", \"scopes\": [\"admin\"]}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "audit_id": "aud_0006", - "entity_id": "lbl_0001", - "entity_kind": "label", - "kind": "label.created", - "seq": 5, - "summary": "{\"name\": \"bug\"}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "audit_id": "aud_0007", - "entity_id": "tok_0004", - "entity_kind": "token", - "kind": "token.issued", - "seq": 6, - "summary": "{\"actor\": \"human:ada-lovelace\", \"scopes\": [\"read\"]}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "audit_id": "aud_0008", - "entity_id": "tok_0004", - "entity_kind": "token", - "kind": "auth.session_closed", - "seq": 7, - "summary": "{\"actor\": \"human:ada-lovelace\"}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "audit_id": "aud_0009", - "entity_id": "act_0005", - "entity_kind": "user", - "kind": "user.created", - "seq": 8, - "summary": "{\"actor\": \"human:ada\", \"username\": \"ada\"}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "audit_id": "aud_0010", - "entity_id": "act_0005", - "entity_kind": "user", - "kind": "user.password_set", - "seq": 9, - "summary": "{\"username\": \"ada\"}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "audit_id": "aud_0011", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.revoked", - "seq": 10, - "summary": "{\"actor\": \"agent:vogt-sessions\"}" - }, - { - "actor_id": "act_0005", - "at": "2026-01-02T03:04:06+00:00", - "audit_id": "aud_0012", - "entity_id": "tok_0005", - "entity_kind": "token", - "kind": "auth.session_opened", - "seq": 11, - "summary": "{\"actor\": \"human:ada\"}" - }, - { - "actor_id": "act_0004", - "at": "2026-01-02T03:04:07+00:00", - "audit_id": "aud_0013", - "entity_id": "act_0005", - "entity_kind": "user", - "kind": "user.removed", - "seq": 12, - "summary": "{\"username\": \"ada\"}" - } - ], - "install_latch": [ - { - "closed_at": "2026-01-02T03:04:05+00:00", - "id": 1, - "reason": "a person holds a credential" - } - ], - "labels": [ - { - "color": null, - "created_at": "2026-01-02T03:04:06+00:00", - "id": "lbl_0001", - "name": "bug" - } - ], - "meta": [ - { - "key": "instance_id", - "value": "ins_0001" - }, - { - "key": "revision", - "value": "11" - }, - { - "key": "work_ref_seq", - "value": "0" - }, - { - "key": "created_at", - "value": "2026-01-02T03:04:07+00:00" - } - ], - "migration_lock": [ - { - "acquired_at": null, - "holder": null, - "id": 1 - } - ], - "migrations": [ - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", - "id": "0001_foundation" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", - "id": "0002_work" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", - "id": "0003_observed_first" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", - "id": "0004_drift" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", - "id": "0005_tokens" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", - "id": "0006_writeback" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", - "id": "0007_sessions" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", - "id": "0008_superseded_drift" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", - "id": "0009_inbox_triage" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", - "id": "0010_session_model" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", - "id": "0011_contract_adoption" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", - "id": "0012_forge_accounts" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", - "id": "0013_upstream_truth" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", - "id": "0014_native_migration" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", - "id": "0015_work_overlay_branches" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", - "id": "0016_perf_indexes" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", - "id": "0017_password_credentials" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", - "id": "0018_actor_preferences" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", - "id": "0019_session_grants" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", - "id": "0020_install_latch" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", - "id": "0021_agent_policy" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", - "id": "0022_comment_kind" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", - "id": "0023_decisions" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", - "id": "0024_session_started_by" - } - ], - "tokens": [ - { - "actor_id": "act_0002", - "created_at": "2026-01-02T03:04:11+00:00", - "expires_at": null, - "id": "tok_0001", - "kind": "api", - "last_used_at": null, - "name": "bootstrap core token", - "revoked_at": null, - "revoked_reason": null, - "scopes": "[\"read\", \"work.write\", \"project.write\"]", - "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" - }, - { - "actor_id": "act_0003", - "created_at": "2026-01-02T03:04:15+00:00", - "expires_at": null, - "id": "tok_0002", - "kind": "api", - "last_used_at": null, - "name": "bootstrap agent token", - "revoked_at": "2026-01-02T03:04:06+00:00", - "revoked_reason": "parity harness", - "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", - "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" - }, - { - "actor_id": "act_0004", - "created_at": "2026-01-02T03:04:05+00:00", - "expires_at": null, - "id": "tok_0003", - "kind": "api", - "last_used_at": "2026-01-02T03:04:06+00:00", - "name": "first-run browser token", - "revoked_at": null, - "revoked_reason": null, - "scopes": "[\"admin\"]", - "token_hash": "" - }, - { - "actor_id": "act_0004", - "created_at": "2026-01-02T03:04:06+00:00", - "expires_at": null, - "id": "tok_0004", - "kind": "api", - "last_used_at": "2026-01-02T03:04:06+00:00", - "name": "reader", - "revoked_at": "2026-01-02T03:04:06+00:00", - "revoked_reason": "done", - "scopes": "[\"read\"]", - "token_hash": "" - }, - { - "actor_id": "act_0005", - "created_at": "2026-01-02T03:04:05+00:00", - "expires_at": "2026-02-01T03:04:05+00:00", - "id": "tok_0005", - "kind": "session", - "last_used_at": "2026-01-02T03:04:06+00:00", - "name": "browser session", - "revoked_at": "2026-01-02T03:04:06+00:00", - "revoked_reason": "parity harness", - "scopes": "[\"read\", \"work.write\", \"project.write\"]", - "token_hash": "" - } - ], - "workflow_defs": [ - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "feature", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "bug", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "chore", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "question", - "updated_at": "2026-01-02T03:04:05+00:00" - } - ] - } - } -] diff --git a/tests/parity/golden/21c95f6-s2/mcp.json b/tests/parity/golden/21c95f6-s2/mcp.json deleted file mode 100644 index 2ae669f5..00000000 --- a/tests/parity/golden/21c95f6-s2/mcp.json +++ /dev/null @@ -1,2573 +0,0 @@ -[ - { - "body": { - "declared": { - "actors": [ - { - "created_at": "2026-01-02T03:04:07+00:00", - "disabled": 0, - "display_name": "parity", - "id": "act_0001", - "identity_ref": "local:parity", - "kind": "human" - }, - { - "created_at": "2026-01-02T03:04:09+00:00", - "disabled": 0, - "display_name": "agent:vogt-engine", - "id": "act_0002", - "identity_ref": "agent:vogt-engine", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:13+00:00", - "disabled": 0, - "display_name": "agent:vogt-sessions", - "id": "act_0003", - "identity_ref": "agent:vogt-sessions", - "kind": "agent" - } - ], - "audit": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:07+00:00", - "entity_id": "ins_0001", - "entity_kind": "instance", - "id": "aud_0001", - "operation": "instance.init", - "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", - "reason": "instance bootstrap", - "revision": 0, - "txn_id": "txn_0001" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12+00:00", - "entity_id": "tok_0001", - "entity_kind": "token", - "id": "aud_0002", - "operation": "token.adopt", - "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", - "reason": "adopting the operator-supplied core token at init", - "revision": 1, - "txn_id": "txn_0002" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16+00:00", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0003", - "operation": "token.adopt", - "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", - "reason": "adopting the operator-supplied agent token at init", - "revision": 2, - "txn_id": "txn_0003" - } - ], - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12+00:00", - "audit_id": "aud_0002", - "entity_id": "tok_0001", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 1, - "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16+00:00", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" - } - ], - "meta": [ - { - "key": "instance_id", - "value": "ins_0001" - }, - { - "key": "revision", - "value": "2" - }, - { - "key": "work_ref_seq", - "value": "0" - }, - { - "key": "created_at", - "value": "2026-01-02T03:04:07+00:00" - } - ], - "migration_lock": [ - { - "acquired_at": null, - "holder": null, - "id": 1 - } - ], - "migrations": [ - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", - "id": "0001_foundation" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", - "id": "0002_work" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", - "id": "0003_observed_first" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", - "id": "0004_drift" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", - "id": "0005_tokens" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", - "id": "0006_writeback" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", - "id": "0007_sessions" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", - "id": "0008_superseded_drift" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", - "id": "0009_inbox_triage" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", - "id": "0010_session_model" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", - "id": "0011_contract_adoption" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", - "id": "0012_forge_accounts" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", - "id": "0013_upstream_truth" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", - "id": "0014_native_migration" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", - "id": "0015_work_overlay_branches" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", - "id": "0016_perf_indexes" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", - "id": "0017_password_credentials" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", - "id": "0018_actor_preferences" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", - "id": "0019_session_grants" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", - "id": "0020_install_latch" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", - "id": "0021_agent_policy" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", - "id": "0022_comment_kind" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", - "id": "0023_decisions" - }, - { - "applied_at": "2026-01-02T03:04:05+00:00", - "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", - "id": "0024_session_started_by" - } - ], - "tokens": [ - { - "actor_id": "act_0002", - "created_at": "2026-01-02T03:04:11+00:00", - "expires_at": null, - "id": "tok_0001", - "kind": "api", - "last_used_at": null, - "name": "bootstrap core token", - "revoked_at": null, - "revoked_reason": null, - "scopes": "[\"read\", \"work.write\", \"project.write\"]", - "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" - }, - { - "actor_id": "act_0003", - "created_at": "2026-01-02T03:04:15+00:00", - "expires_at": null, - "id": "tok_0002", - "kind": "api", - "last_used_at": null, - "name": "bootstrap agent token", - "revoked_at": null, - "revoked_reason": null, - "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", - "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" - } - ], - "workflow_defs": [ - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "feature", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "bug", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "chore", - "updated_at": "2026-01-02T03:04:05+00:00" - }, - { - "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", - "kind": "question", - "updated_at": "2026-01-02T03:04:05+00:00" - } - ] - }, - "observed": { - "meta": [ - { - "key": "instance_id", - "value": "ins_0001" - }, - { - "key": "created_at", - "value": "2026-01-02T03:04:08+00:00" - } - ], - "migration_lock": [ - { - "acquired_at": null, - "holder": null, - "id": 1 - } - ], - "migrations": [ - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "c050f9e4dba983119f045b8fb4ccbe8b1ee97473170eead7d28279e99468de4b", - "id": "0001_foundation" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "9cdc9c9179740af96606bab0b557c7b35639eaabc78faf16630c7705f1d368f5", - "id": "0002_evidence" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "8bf0b8533774a156762fddc2e56bbb9656ba3b6bf0e38ec85a66c9dc9c325ed1", - "id": "0003_inherited_dep_refs" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "8d5cffbb2acb6ff18099ad73384eaa4ea5ebca7a6f45afb79d353fb4cbbcaee6", - "id": "0004_forge_sync" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "e6902e6616ab9948f9d222b2763ce9bc421a136b6acb1422240e5957683e5e45", - "id": "0005_perf_indexes" - }, - { - "applied_at": "2026-01-02T03:04:06+00:00", - "checksum": "e0e959f4bf4f39db47d5e41ac11391d5f80a0b73bcce57d36168572062b1ab66", - "id": "0006_agent_activity" - } - ] - } - }, - "operation": "dump.after_init" - }, - { - "body": { - "counts": { - "actors": 3, - "audit": 3, - "events": 2, - "initiatives": 0, - "projects": 0, - "work_items": 0 - }, - "data_dir": "", - "declared_schema_version": 24, - "instance_id": "ins_0001", - "observed_schema_version": 6, - "principal": "local:parity", - "revision": 2, - "vogt_version": "0.7.17" - }, - "is_error": false, - "operation": "status" - }, - { - "body": { - "data_dir": "", - "declared_schema_expected": 24, - "declared_schema_version": 24, - "migrations_applied": [], - "observed_schema_expected": 6, - "observed_schema_version": 6 - }, - "is_error": false, - "operation": "migrate" - }, - { - "body": { - "workflows": [ - { - "initial_state": "open", - "kind": "feature", - "states": [ - "blocked", - "done", - "in_progress", - "open", - "review", - "wont_do" - ], - "transitions": { - "blocked": [ - "open", - "in_progress", - "wont_do" - ], - "done": [ - "open" - ], - "in_progress": [ - "review", - "blocked", - "open", - "wont_do" - ], - "open": [ - "in_progress", - "blocked", - "wont_do" - ], - "review": [ - "done", - "in_progress", - "blocked", - "wont_do" - ], - "wont_do": [ - "open" - ] - } - }, - { - "initial_state": "open", - "kind": "bug", - "states": [ - "blocked", - "done", - "in_progress", - "open", - "review", - "wont_do" - ], - "transitions": { - "blocked": [ - "open", - "in_progress", - "wont_do" - ], - "done": [ - "open" - ], - "in_progress": [ - "review", - "blocked", - "open", - "wont_do" - ], - "open": [ - "in_progress", - "blocked", - "wont_do" - ], - "review": [ - "done", - "in_progress", - "blocked", - "wont_do" - ], - "wont_do": [ - "open" - ] - } - }, - { - "initial_state": "open", - "kind": "chore", - "states": [ - "blocked", - "done", - "in_progress", - "open", - "review", - "wont_do" - ], - "transitions": { - "blocked": [ - "open", - "in_progress", - "wont_do" - ], - "done": [ - "open" - ], - "in_progress": [ - "review", - "blocked", - "open", - "wont_do" - ], - "open": [ - "in_progress", - "blocked", - "wont_do" - ], - "review": [ - "done", - "in_progress", - "blocked", - "wont_do" - ], - "wont_do": [ - "open" - ] - } - }, - { - "initial_state": "open", - "kind": "question", - "states": [ - "blocked", - "done", - "in_progress", - "open", - "review", - "wont_do" - ], - "transitions": { - "blocked": [ - "open", - "in_progress", - "wont_do" - ], - "done": [ - "open" - ], - "in_progress": [ - "review", - "blocked", - "open", - "wont_do" - ], - "open": [ - "in_progress", - "blocked", - "wont_do" - ], - "review": [ - "done", - "in_progress", - "blocked", - "wont_do" - ], - "wont_do": [ - "open" - ] - } - } - ] - }, - "is_error": false, - "operation": "workflow.list" - }, - { - "body": { - "actor": { - "created_at": "2026-01-02T03:04:07Z", - "disabled": false, - "display_name": "Parity Agent", - "id": "act_0004", - "identity_ref": "agent:parity", - "kind": "agent" - } - }, - "is_error": false, - "operation": "actor.create" - }, - { - "body": { - "actors": [ - { - "created_at": "2026-01-02T03:04:07Z", - "disabled": false, - "display_name": "Parity Agent", - "id": "act_0004", - "identity_ref": "agent:parity", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:09Z", - "disabled": false, - "display_name": "agent:vogt-engine", - "id": "act_0002", - "identity_ref": "agent:vogt-engine", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:13Z", - "disabled": false, - "display_name": "agent:vogt-sessions", - "id": "act_0003", - "identity_ref": "agent:vogt-sessions", - "kind": "agent" - }, - { - "created_at": "2026-01-02T03:04:07Z", - "disabled": false, - "display_name": "parity", - "id": "act_0001", - "identity_ref": "local:parity", - "kind": "human" - } - ] - }, - "is_error": false, - "operation": "actor.list" - }, - { - "body": { - "label": { - "color": "#d73a4a", - "created_at": "2026-01-02T03:04:09Z", - "id": "lbl_0001", - "name": "parity" - } - }, - "is_error": false, - "operation": "label.create" - }, - { - "body": { - "labels": [ - { - "color": "#d73a4a", - "created_at": "2026-01-02T03:04:09Z", - "id": "lbl_0001", - "name": "parity" - } - ] - }, - "is_error": false, - "operation": "label.list" - }, - { - "body": { - "contract_version": "v1", - "criteria": [ - { - "applicable": true, - "detail": "directory exists", - "rule": "path.exists", - "satisfied": true, - "target": "" - }, - { - "applicable": true, - "detail": "AGENTS.md is missing", - "rule": "required_file", - "satisfied": false, - "target": "AGENTS.md" - }, - { - "applicable": true, - "detail": "README.md is missing", - "rule": "required_file", - "satisfied": false, - "target": "README.md" - }, - { - "applicable": true, - "detail": "LICENSE is missing", - "rule": "required_file", - "satisfied": false, - "target": "LICENSE" - }, - { - "applicable": true, - "detail": "docs/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "docs" - }, - { - "applicable": true, - "detail": "design/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "design" - }, - { - "applicable": true, - "detail": "src/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "src" - } - ], - "failing": [ - { - "applicable": true, - "detail": "AGENTS.md is missing", - "rule": "required_file", - "satisfied": false, - "target": "AGENTS.md" - }, - { - "applicable": true, - "detail": "README.md is missing", - "rule": "required_file", - "satisfied": false, - "target": "README.md" - }, - { - "applicable": true, - "detail": "LICENSE is missing", - "rule": "required_file", - "satisfied": false, - "target": "LICENSE" - }, - { - "applicable": true, - "detail": "docs/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "docs" - }, - { - "applicable": true, - "detail": "design/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "design" - }, - { - "applicable": true, - "detail": "src/ is missing", - "rule": "required_dir", - "satisfied": false, - "target": "src" - } - ], - "inapplicable": [], - "path": "", - "recommendations": [ - { - "instruction": "`project scaffold` writes AGENTS.md into this project without overwriting anything that is already there.", - "remedy": "scaffold", - "rule": "required_file", - "target": "AGENTS.md" - }, - { - "instruction": "`project scaffold` writes README.md into this project without overwriting anything that is already there.", - "remedy": "scaffold", - "rule": "required_file", - "target": "README.md" - }, - { - "instruction": "choose a licence for this project and write its full text to LICENSE. Vogt deliberately does not pick one: a scaffold that silently writes MIT makes that decision for the owner.", - "remedy": "judgement", - "rule": "required_file", - "target": "LICENSE" - }, - { - "instruction": "`project scaffold` writes docs/ into this project without overwriting anything that is already there.", - "remedy": "scaffold", - "rule": "required_dir", - "target": "docs" - }, - { - "instruction": "decide what this project's design record is \u2014 diagrams, mockups, exploratory notes \u2014 and put it in design/. An empty directory satisfies the letter of the criterion and none of its point, and git cannot carry one anyway.", - "remedy": "judgement", - "rule": "required_dir", - "target": "design" - }, - { - "instruction": "`project scaffold` writes src/ into this project without overwriting anything that is already there.", - "remedy": "scaffold", - "rule": "required_dir", - "target": "src" - } - ], - "recorded": false, - "status": "non_compliant" - }, - "is_error": false, - "operation": "contract.evaluate" - }, - { - "body": { - "contract_version": "v1", - "criteria": [ - { - "applicable": true, - "detail": "the path does not exist or is not a directory, so no criterion below was evaluated \u2014 this is 'not checked', not 'does not comply'", - "rule": "path.exists", - "satisfied": false, - "target": "/does-not-exist" - } - ], - "failing": [ - { - "applicable": true, - "detail": "the path does not exist or is not a directory, so no criterion below was evaluated \u2014 this is 'not checked', not 'does not comply'", - "rule": "path.exists", - "satisfied": false, - "target": "/does-not-exist" - } - ], - "inapplicable": [], - "path": "/does-not-exist", - "recommendations": [ - { - "instruction": "decide what /does-not-exist should contain for this project and add it. Nothing here can write it for you.", - "remedy": "judgement", - "rule": "path.exists", - "target": "/does-not-exist" - } - ], - "recorded": false, - "status": "not_checked" - }, - "is_error": false, - "operation": "contract.evaluate" - }, - { - "body": { - "created_paths": [ - "/proj", - "/proj/AGENTS.md", - "/proj/LICENSE", - "/proj/README.md", - "/proj/design", - "/proj/docs", - "/proj/src" - ], - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "main_branches": [], - "merge_deploys_prod": false, - "rules": [], - "test_recipe": "" - }, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:11Z", - "created_at": "2026-01-02T03:04:11Z", - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "incubating", - "link_state": "unlinked", - "name": "Parity", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:11Z", - "write_back": "none" - }, - "skipped_paths": [] - }, - "is_error": false, - "operation": "project.create" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "main_branches": [], - "merge_deploys_prod": false, - "rules": [], - "test_recipe": "" - }, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:11Z", - "created_at": "2026-01-02T03:04:11Z", - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "incubating", - "link_state": "unlinked", - "name": "Parity", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:11Z", - "write_back": "none" - } - }, - "is_error": false, - "operation": "project.get" - }, - { - "body": { - "projects": [ - { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "main_branches": [], - "merge_deploys_prod": false, - "rules": [], - "test_recipe": "" - }, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:11Z", - "created_at": "2026-01-02T03:04:11Z", - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "incubating", - "link_state": "unlinked", - "name": "Parity", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:11Z", - "writable": false, - "writable_reason": "not forge-linked: work.create refuses with project_not_linked. Pass local_only=true for a local record, or link (`forge link`) or publish (`forge publish`) the project.", - "write_back": "none" - } - ], - "total": 1 - }, - "is_error": false, - "operation": "project.list" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "main_branches": [], - "merge_deploys_prod": false, - "rules": [], - "test_recipe": "" - }, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:11Z", - "created_at": "2026-01-02T03:04:11Z", - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "incubating", - "link_state": "unlinked", - "name": "Parity", - "repo_url": "https://example.invalid/parity.git", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:13Z", - "write_back": "none" - } - }, - "is_error": false, - "operation": "project.update" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "main_branches": [], - "merge_deploys_prod": false, - "rules": [], - "test_recipe": "" - }, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:11Z", - "created_at": "2026-01-02T03:04:11Z", - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "active", - "link_state": "unlinked", - "name": "Parity", - "repo_url": "https://example.invalid/parity.git", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:15Z", - "write_back": "none" - } - }, - "is_error": false, - "operation": "project.transition" - }, - { - "body": { - "created": [], - "detail": "0 written, 6 already there and left exactly as they were", - "project": "parity", - "root_path": "/proj", - "skipped": [ - "/proj/AGENTS.md", - "/proj/LICENSE", - "/proj/README.md", - "/proj/design", - "/proj/docs", - "/proj/src" - ] - }, - "is_error": false, - "operation": "project.scaffold" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "main_branches": [], - "merge_deploys_prod": false, - "rules": [], - "test_recipe": "" - }, - "compliance_status": "not_checked", - "created_at": "2026-01-02T03:04:18Z", - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0002", - "lifecycle_state": "active", - "link_state": "unlinked", - "name": "Second", - "root_path": "/second", - "slug": "second", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:18Z", - "write_back": "none" - } - }, - "is_error": false, - "operation": "project.register" - }, - { - "body": { - "by_kind": {}, - "by_state": {}, - "ci_status": { - "checks": 0, - "detail": "swept, but no CI checks were observed \u2014 either this project has none, or the optional forge adapter is not configured", - "earlier_failures": 0, - "failing": [], - "revisions_observed": 0, - "status": "no_checks" - }, - "compliance_status": "not_checked", - "declared_work": 0, - "dependencies": { - "detail": "`dep-refs` has not walked this project; its references are not collected, which is not the same as none", - "referenced_by": 0, - "references_out": 0, - "status": "not_collected", - "unresolved": 0 - }, - "freshness": { - "collectors": "", - "detail": "no collector has completed a sweep yet", - "status": "never_swept" - }, - "observed_work": 0, - "open_bugs": 0, - "open_work": 0, - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "main_branches": [], - "merge_deploys_prod": false, - "rules": [], - "test_recipe": "" - }, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:11Z", - "created_at": "2026-01-02T03:04:11Z", - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "active", - "link_state": "unlinked", - "name": "Parity", - "repo_url": "https://example.invalid/parity.git", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:15Z", - "write_back": "none" - }, - "top_backlog": [] - }, - "is_error": false, - "operation": "project.brief" - }, - { - "body": { - "backlog_total_considered": 0, - "drift_present": false, - "generated_at": "2026-01-02T03:04:25Z", - "inbox_active": 0, - "inbox_active_unfiltered": 0, - "projects_total": 2, - "revision": 9, - "work_total": 0 - }, - "is_error": false, - "operation": "place.metrics" - }, - { - "body": { - "configured": 0, - "detail": "deploy_lanes is not configured, so deployed versions are not collected", - "freshness": { - "collectors": "", - "detail": "no collector has completed a sweep yet", - "status": "never_swept" - }, - "lanes": [] - }, - "is_error": false, - "operation": "deployed.versions" - }, - { - "body": { - "initiative": { - "body": "", - "created_at": "2026-01-02T03:04:26Z", - "id": "ini_0001", - "slug": "platform", - "state": "open", - "title": "Platform", - "updated_at": "2026-01-02T03:04:26Z", - "weight": 0 - } - }, - "is_error": false, - "operation": "initiative.create" - }, - { - "body": { - "initiatives": [ - { - "body": "", - "created_at": "2026-01-02T03:04:26Z", - "id": "ini_0001", - "slug": "platform", - "state": "open", - "title": "Platform", - "updated_at": "2026-01-02T03:04:26Z", - "weight": 0 - } - ] - }, - "is_error": false, - "operation": "initiative.list" - }, - { - "body": { - "initiative": { - "body": "", - "created_at": "2026-01-02T03:04:26Z", - "id": "ini_0001", - "slug": "platform", - "state": "open", - "title": "Platform work", - "updated_at": "2026-01-02T03:04:28Z", - "weight": 0 - } - }, - "is_error": false, - "operation": "initiative.update" - }, - { - "body": { - "slug": "platform", - "state": "open", - "tracking_issues": [] - }, - "is_error": false, - "operation": "initiative.publish" - }, - { - "body": { - "text": "not_found: no initiative with slug 'missing'" - }, - "is_error": true, - "operation": "initiative.publish" - }, - { - "body": { - "preferences": [] - }, - "is_error": false, - "operation": "preference.get" - }, - { - "body": { - "preference": { - "key": "inbox.filter", - "updated_at": "2026-01-02T03:04:31Z", - "value": { - "actor": "any", - "sources": [ - "ci" - ], - "triage_states": [ - "active" - ] - }, - "version": 1 - } - }, - "is_error": false, - "operation": "preference.set" - }, - { - "body": { - "text": "preference_version_conflict: preference 'inbox.filter' is at version 1, not 0; re-read it and apply the change on top of the current value" - }, - "is_error": true, - "operation": "preference.set" - }, - { - "body": { - "by_reason": {}, - "detail": "nothing collected \u2014 either there is nothing to say, or the configured token cannot read notifications; `coverage` distinguishes the two", - "freshness": { - "collectors": "", - "detail": "no collector has completed a sweep yet", - "status": "never_swept" - }, - "notifications": [], - "scope": "the GitHub account whose token this instance is configured with; notifications are instance-scoped, not per-actor", - "total": 0, - "unread": 0 - }, - "is_error": false, - "operation": "notifications" - }, - { - "body": { - "actor_unknown_hidden": 0, - "counts": { - "active": 0, - "archived": 0, - "snoozed": 0 - }, - "coverage": { - "agent": { - "count": 0, - "detail": "no session engine is configured", - "projects": 0, - "registered": 2, - "source": "agent", - "status": "unconfigured" - }, - "ci": { - "count": 0, - "detail": "this collector has not completed a sweep", - "projects": 0, - "registered": 2, - "source": "ci", - "status": "unswept" - }, - "drift": { - "count": 0, - "detail": "open proposals in the declared store", - "projects": 0, - "registered": 2, - "source": "drift", - "status": "current" - }, - "github": { - "count": 0, - "detail": "this collector has not completed a sweep", - "projects": 0, - "registered": 2, - "source": "github", - "status": "unswept" - } - }, - "engine_available": false, - "engine_detail": "no session engine is configured", - "engine_status": "not_configured", - "entries": [], - "github_scope": "registered projects only", - "high_water": {}, - "instance_scope": "registered projects only", - "snapshot_at": "2026-01-02T03:04:33Z" - }, - "is_error": false, - "operation": "inbox.list" - }, - { - "body": { - "text": "inbox_entry_not_found: no current Inbox entry 'nope'" - }, - "is_error": true, - "operation": "inbox.archive" - }, - { - "body": { - "text": "invalid_snooze: snooze deadline must be in the future" - }, - "is_error": true, - "operation": "inbox.snooze" - }, - { - "body": { - "text": "inbox_entry_not_found: no current Inbox entry 'nope'" - }, - "is_error": true, - "operation": "inbox.restore" - }, - { - "body": { - "branches": [], - "comments": [], - "item": { - "body": "", - "created_at": "2026-01-02T03:04:35Z", - "id": "wrk_0001", - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p2", - "ref": "WI-1", - "relations": [], - "state": "open", - "title": "parity item", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:35Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "is_error": false, - "operation": "work.create" - }, - { - "body": { - "branches": [], - "comments": [], - "item": { - "body": "", - "created_at": "2026-01-02T03:04:35Z", - "id": "wrk_0001", - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "ref": "WI-1", - "relations": [], - "state": "open", - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:37Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "is_error": false, - "operation": "work.update" - }, - { - "body": { - "text": "invalid_params: labels: Input should be a valid list. work_create takes required: kind, title, reason; optional: body, priority, effort, project, initiative, assignee, labels, local_only" - }, - "is_error": true, - "operation": "work.create" - }, - { - "body": { - "text": "project_not_linked: work.create needs a forge-linked project, and 'parity' is not linked: link it (`forge link`, or re-import through `project import`) or publish it (`forge publish`) first; or pass `local_only: true` to keep a native item in this project. Native items (WI-n) on this project still take comments, transitions (including to done) and field edits by ref." - }, - "is_error": true, - "operation": "work.create" - }, - { - "body": { - "items": [ - { - "kind": "chore", - "priority": "p1", - "ref": "WI-1", - "state": "open", - "title": "parity item renamed" - } - ], - "mode": "summary", - "total": 1 - }, - "is_error": false, - "operation": "work.list" - }, - { - "body": { - "text": "not_found: no project with slug 'missing'" - }, - "is_error": true, - "operation": "work.list" - }, - { - "body": { - "branches": [], - "comments": [], - "item": { - "body": "", - "created_at": "2026-01-02T03:04:35Z", - "id": "wrk_0001", - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "ref": "WI-1", - "relations": [], - "state": "open", - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:37Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "is_error": false, - "operation": "work.get" - }, - { - "body": { - "comment": { - "actor_display_name": "parity", - "actor_id": "act_0001", - "body": "parity note", - "created_at": "2026-01-02T03:04:42Z", - "id": "cmt_0001", - "kind": "note", - "work_item_id": "wrk_0001" - }, - "write_back": "skipped" - }, - "is_error": false, - "operation": "work.comment" - }, - { - "body": { - "branches": [], - "comments": [], - "item": { - "body": "", - "created_at": "2026-01-02T03:04:35Z", - "id": "wrk_0001", - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "ref": "WI-1", - "relations": [], - "state": "in_progress", - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:45Z" - }, - "live_sessions": [], - "sessions": [], - "walked": [] - }, - "is_error": false, - "operation": "work.transition" - }, - { - "body": { - "text": "not_found: no work item 'WI-2'" - }, - "is_error": true, - "operation": "work.relate" - }, - { - "body": { - "text": "not_found: no work item 'WI-2'" - }, - "is_error": true, - "operation": "work.unrelate" - }, - { - "body": { - "backlog_candidates": 1, - "cells": [ - { - "items": [], - "lane_key": "", - "state": "open", - "total": 0 - } - ], - "column_totals": { - "in_progress": 1 - }, - "declared_total": 1, - "excluded_unlinked": 0, - "lane_totals": { - "": 1 - }, - "revision": 17, - "snapshot": "eyJmaW5nZXJwcmludCI6InNoYTI1Njo2N2JkMGQ3MTUxN2JlYThkM2VkNmJjYWE0ZTFmZTY2YzYyNTM5MGRkNjg2ODI3MjM1Njk4MTUxMDg2ZDc0MDYzIiwiaGlnaF93YXRlciI6WyIyMDI2LTAxLTAyVDAzOjA0OjM1KzAwOjAwIiwiV0ktMSJdLCJraW5kIjoic25hcHNob3QiLCJyZXZpc2lvbiI6MTcsInNuYXBzaG90X2F0IjoiMjAyNi0wMS0wMlQwMzowNDo0NyswMDowMCJ9", - "snapshot_at": "2026-01-02T03:04:47Z", - "total": 1 - }, - "is_error": false, - "operation": "board.list" - }, - { - "body": { - "closed_upstream": 0, - "declared": 1, - "excluded_unlinked": 0, - "freshness": { - "collectors": "", - "detail": "no collector has completed a sweep yet", - "status": "never_swept" - }, - "items": [ - { - "classified": true, - "kind": "chore", - "labels": [], - "origin": "declared", - "priority": "p1", - "ref": "WI-1", - "score": 52.0, - "state": "in_progress", - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:45Z" - } - ], - "observed": 0, - "scope": "global", - "suppressed": 0, - "total_considered": 1 - }, - "is_error": false, - "operation": "backlog" - }, - { - "body": { - "text": "not_found: no project with slug 'missing'" - }, - "is_error": true, - "operation": "backlog" - }, - { - "body": { - "closed_upstream": 0, - "declared": 0, - "excluded_unlinked": 0, - "freshness": { - "collectors": "", - "detail": "no collector has completed a sweep yet", - "status": "never_swept" - }, - "items": [], - "observed": 0, - "scope": "global", - "suppressed": 0, - "total_considered": 0 - }, - "is_error": false, - "operation": "bugs" - }, - { - "body": { - "text": "not_found: no project with slug 'missing'" - }, - "is_error": true, - "operation": "bugs" - }, - { - "body": { - "text": "not_found: no project with slug 'missing'" - }, - "is_error": true, - "operation": "deps" - }, - { - "body": { - "comments": 1, - "export_format_version": 2, - "path": "/export.json", - "projects": 2, - "work_items": 1 - }, - "is_error": false, - "operation": "export" - }, - { - "body": { - "applied": false, - "base": "2026-01-02T03:04:54Z", - "base_source": "an export of this same instance: its exported_at", - "by_entity": { - "actor": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 4, - "updated": 0 - }, - "comment": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 1, - "updated": 0 - }, - "initiative": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 1, - "updated": 0 - }, - "label": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 1, - "updated": 0 - }, - "project": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 2, - "updated": 0 - }, - "work_item": { - "conflict": 0, - "created": 0, - "skipped": 0, - "unchanged": 1, - "updated": 0 - } - }, - "changes": [], - "conflicted": 0, - "created": 0, - "detail": "Dry run: nothing was written. Pass --apply --confirm to merge.", - "export_format_version": 2, - "instance_id": "ins_0001", - "projects": 2, - "skipped": 0, - "source": "/export.json", - "unchanged": 10, - "updated": 0, - "work_items": 1 - }, - "is_error": false, - "operation": "import" - }, - { - "body": { - "project": { - "agent_policy": { - "base_branch": "", - "commit_identity": "", - "deployed_setup": "", - "forbidden_text": [], - "main_branches": [], - "merge_deploys_prod": false, - "rules": [], - "test_recipe": "" - }, - "compliance_status": "not_checked", - "contract_adopted_at": "2026-01-02T03:04:11Z", - "created_at": "2026-01-02T03:04:11Z", - "exclusions": [ - ".venv/", - "node_modules/", - "target/", - "dist/", - "build/", - ".git/", - ".claude/" - ], - "id": "prj_0001", - "lifecycle_state": "active", - "link_state": "unlinked", - "name": "Parity", - "repo_url": "https://example.invalid/parity.git", - "root_path": "/proj", - "slug": "parity", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:56Z", - "write_back": "full" - } - }, - "is_error": false, - "operation": "forge.writeback" - }, - { - "body": { - "actions": [ - { - "action": "comment", - "at": "2026-01-02T03:04:43Z", - "detail": "write-back is off for this project", - "id": "wbk_0001", - "outcome": "skipped", - "policy": "none", - "reason": "parity" - } - ] - }, - "is_error": false, - "operation": "forge.actions" - }, - { - "body": { - "actions": [ - { - "action": "comment", - "at": "2026-01-02T03:04:43Z", - "detail": "write-back is off for this project", - "id": "wbk_0001", - "outcome": "skipped", - "policy": "none", - "reason": "parity" - } - ] - }, - "is_error": false, - "operation": "forge.actions" - }, - { - "body": { - "text": "invalid_request: 'no.such.host' is not a configured forge host; add it to forge_token_files before listing repositories" - }, - "is_error": true, - "operation": "forge.repos" - }, - { - "body": { - "accounts": [] - }, - "is_error": false, - "operation": "forge.account_status" - }, - { - "body": { - "text": "invalid_request: 'no.such.host' has no provider to validate a token against; configure the host under forge_token_files first" - }, - "is_error": true, - "operation": "forge.account_link" - }, - { - "body": { - "contributions": [ - { - "contribution": 55.0, - "detail": "p1", - "input": "priority", - "value": 1.0, - "weight": 55.0 - }, - { - "contribution": 0.0, - "detail": "0.0 days since last change", - "input": "staleness", - "value": 0.0, - "weight": 0.5 - }, - { - "contribution": 0.0, - "detail": "0 item(s) depend on this one", - "input": "blocking_fan_out", - "value": 0.0, - "weight": 8.0 - }, - { - "contribution": 0.0, - "detail": "no initiative", - "input": "initiative_weight", - "value": 0.0, - "weight": 0.25 - }, - { - "contribution": -3.0, - "detail": "trust state unverified", - "input": "trust_penalty", - "value": 1.0, - "weight": -3.0 - }, - { - "contribution": 0.0, - "detail": "no open pull request", - "input": "open_pr", - "value": 0.0, - "weight": 12.0 - }, - { - "contribution": 0.0, - "detail": "no branch observed", - "input": "branch_activity", - "value": 0.0, - "weight": 8.0 - } - ], - "inputs_not_yet_available": { - "ci_red_boost": "arrives with the CI check observations it reads" - }, - "ref": "WI-1", - "title": "parity item renamed", - "total": 52.0 - }, - "is_error": false, - "operation": "why" - }, - { - "body": { - "text": "not_found: no work item or observed subject 'WI-404'" - }, - "is_error": true, - "operation": "why" - }, - { - "body": { - "items": [ - { - "body": "", - "created_at": "2026-01-02T03:04:35Z", - "id": "wrk_0001", - "kind": "chore", - "labels": [], - "origin": "created", - "priority": "p1", - "ref": "WI-1", - "relations": [], - "state": "in_progress", - "title": "parity item renamed", - "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:45Z" - } - ], - "mode": "full", - "total": 1 - }, - "is_error": false, - "operation": "work.list" - }, - { - "body": { - "items": [], - "mode": "summary", - "total": 1 - }, - "is_error": false, - "operation": "work.list" - }, - { - "body": { - "items": [ - { - "kind": "chore", - "priority": "p1", - "ref": "WI-1", - "state": "in_progress", - "title": "parity item renamed" - } - ], - "missing": [ - "WI-404", - "WI-2" - ] - }, - "is_error": false, - "operation": "work.get_many" - }, - { - "body": { - "records": [ - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:57Z", - "entity_id": "prj_0001", - "entity_kind": "project", - "id": "aud_0019", - "operation": "project.writeback", - "payload_digest": "sha256:5160587a6bd4fd6e1c8cfdfbe9e7b71a0aff7cb411b75e8ad277bea16adfdf65", - "reason": "parity harness", - "revision": 18, - "txn_id": "txn_0022" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:46Z", - "entity_id": "wrk_0001", - "entity_kind": "work_item", - "id": "aud_0018", - "operation": "work.transition", - "payload_digest": "sha256:939b83a6dc5267e90a0a3a2a14a555a9e3f4e2aef4ad639c6cce2926b340b433", - "reason": "parity", - "revision": 17, - "txn_id": "txn_0019" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:44Z", - "entity_id": "cmt_0001", - "entity_kind": "comment", - "id": "aud_0017", - "operation": "work.comment", - "payload_digest": "sha256:99be8e34fd97a59c4231a9a0486189f35b99c0ffe966b6ef8b063cb25178d164", - "reason": "parity", - "revision": 16, - "txn_id": "txn_0018" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:38Z", - "entity_id": "wrk_0001", - "entity_kind": "work_item", - "id": "aud_0016", - "operation": "work.update", - "payload_digest": "sha256:bb461bbf55ff1118209c5b8a84ee0c9282ea3d25cb9db35ab8b07f3a62770b98", - "reason": "parity", - "revision": 15, - "txn_id": "txn_0017" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:36Z", - "entity_id": "wrk_0001", - "entity_kind": "work_item", - "id": "aud_0015", - "operation": "work.create", - "payload_digest": "sha256:797dfa50b38bbf76e9154d23f1449d70070cf64e5b059d2ae6ecd4ad3edd5a56", - "reason": "parity", - "revision": 14, - "txn_id": "txn_0016" - } - ], - "total": 19 - }, - "is_error": false, - "operation": "audit.list" - }, - { - "body": { - "text": "invalid_request: WI-1 belongs to no project, so there is no branch to bind it to" - }, - "is_error": true, - "operation": "work.bind_branch" - }, - { - "body": { - "text": "not_found: no observed subject 'gh:parity-org/parity#404'" - }, - "is_error": true, - "operation": "work.adopt" - }, - { - "body": { - "digests": [], - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "hidden_count": 0, - "sessions": [], - "total": 0, - "truncated": false - }, - "is_error": false, - "operation": "session.list" - }, - { - "body": { - "counts": { - "needs_you": 0, - "total": 0 - }, - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "rows": [], - "swept_at": "2026-01-02T03:05:01Z" - }, - "is_error": false, - "operation": "session.sweep" - }, - { - "body": { - "bytes": 0, - "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", - "text": "", - "total_bytes": 0, - "truncated": false - }, - "is_error": false, - "operation": "session.log_tail" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.start" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.input" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.screen" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.wait" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.answer" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.hibernate" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.keep_awake" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.set_role" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, so there is nothing to open a terminal on (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "session.wake" - }, - { - "body": { - "text": "not_found: no session 'ses_00000000000000000000000000'" - }, - "is_error": true, - "operation": "session.stop" - }, - { - "body": { - "text": "engine_unavailable: no session engine is configured, and chats run on it (set VOGT_ENGINE_URL)" - }, - "is_error": true, - "operation": "chat.list" - }, - { - "body": { - "text": "invalid_request: 'nope' is not a chat id (a UUID, from chat.list or chat.create)" - }, - "is_error": true, - "operation": "chat.get" - }, - { - "body": { - "user": { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:05:02Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:05:02Z", - "username": "ada" - } - }, - "is_error": false, - "operation": "user.create" - }, - { - "body": { - "users": [ - { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:05:02Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:05:02Z", - "username": "ada" - } - ] - }, - "is_error": false, - "operation": "user.list" - }, - { - "body": { - "user": { - "actor_id": "act_0005", - "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:05:02Z", - "scopes": [ - "read", - "work.write", - "project.write" - ], - "updated_at": "2026-01-02T03:05:04Z", - "username": "ada" - } - }, - "is_error": false, - "operation": "user.set_password" - }, - { - "body": { - "tokens": [ - { - "actor_id": "act_0003", - "actor_identity_ref": "agent:vogt-sessions", - "created_at": "2026-01-02T03:04:15Z", - "id": "tok_0002", - "kind": "api", - "name": "bootstrap agent token", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - }, - { - "actor_id": "act_0002", - "actor_identity_ref": "agent:vogt-engine", - "created_at": "2026-01-02T03:04:11Z", - "id": "tok_0001", - "kind": "api", - "name": "bootstrap core token", - "scopes": [ - "read", - "work.write", - "project.write" - ] - } - ] - }, - "is_error": false, - "operation": "token.list" - }, - { - "body": { - "token": { - "actor_id": "act_0003", - "actor_identity_ref": "agent:vogt-sessions", - "created_at": "2026-01-02T03:04:15Z", - "id": "tok_0002", - "kind": "api", - "name": "bootstrap agent token", - "revoked_at": "2026-01-02T03:05:06Z", - "revoked_reason": "parity harness", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - "is_error": false, - "operation": "token.revoke" - }, - { - "body": { - "display_name": "parity", - "identity_ref": "local:parity", - "kind": "human", - "scopes": [ - "admin", - "project.write", - "read", - "work.write", - "writeback" - ] - }, - "is_error": false, - "operation": "auth.whoami" - }, - { - "body": { - "declared_schema_version": 24, - "engine_state": "not configured", - "import_root": "/instance/repos", - "instance_id": "ins_0001", - "observed_schema_version": 6, - "path": "/backup", - "taken_at": "2026-01-02T03:05:08Z" - }, - "is_error": false, - "operation": "backup" - }, - { - "body": { - "declared_schema_version": 24, - "engine_state": "not in this backup", - "import_root_now": "/instance/repos", - "import_root_then": "/instance/repos", - "instance_id": "ins_0001", - "migrations_applied": [], - "restored_from": "2026-01-02T03:05:08Z", - "source": "/backup" - }, - "is_error": false, - "operation": "restore" - }, - { - "body": { - "sessions_revoked": 0, - "username": "ada" - }, - "is_error": false, - "operation": "user.remove" - }, - { - "body": { - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12Z", - "audit_id": "aud_0002", - "entity_id": "tok_0001", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 1, - "summary": { - "actor": "agent:vogt-engine", - "scopes": [ - "read", - "work.write", - "project.write" - ] - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16Z", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": { - "actor": "agent:vogt-sessions", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:08Z", - "audit_id": "aud_0004", - "entity_id": "act_0004", - "entity_kind": "actor", - "kind": "actor.created", - "seq": 3, - "summary": { - "identity_ref": "agent:parity", - "kind": "agent" - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:10Z", - "audit_id": "aud_0005", - "entity_id": "lbl_0001", - "entity_kind": "label", - "kind": "label.created", - "seq": 4, - "summary": { - "name": "parity" - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:12Z", - "audit_id": "aud_0006", - "entity_id": "prj_0001", - "entity_kind": "project", - "kind": "project.registered", - "seq": 5, - "summary": { - "name": "Parity", - "slug": "parity" - } - } - ], - "next_cursor": 5 - }, - "is_error": false, - "operation": "events.list" - }, - { - "body": { - "events": [ - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:16Z", - "audit_id": "aud_0003", - "entity_id": "tok_0002", - "entity_kind": "token", - "kind": "token.adopted", - "seq": 2, - "summary": { - "actor": "agent:vogt-sessions", - "scopes": [ - "read", - "work.write", - "project.write", - "writeback" - ] - } - }, - { - "actor_id": "act_0001", - "at": "2026-01-02T03:04:08Z", - "audit_id": "aud_0004", - "entity_id": "act_0004", - "entity_kind": "actor", - "kind": "actor.created", - "seq": 3, - "summary": { - "identity_ref": "agent:parity", - "kind": "agent" - } - } - ], - "next_cursor": 3 - }, - "is_error": false, - "operation": "events.list" - }, - { - "body": { - "records": [ - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:13Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0023", - "operation": "user.remove", - "payload_digest": "sha256:6cb1b570d1a756565af0191ec35d1fed1dc103ed9b82afa000b68a0172b6f711", - "reason": "parity harness", - "revision": 22, - "txn_id": "txn_0028" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:07Z", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0022", - "operation": "token.revoke", - "payload_digest": "sha256:09ebf7754bdeb8a7bab3516ffbce7a7dbbbd3fa3990e31ad5ffdee6504b718d3", - "reason": "parity harness", - "revision": 21, - "txn_id": "txn_0026" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:05Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0021", - "operation": "user.set_password", - "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", - "reason": "parity harness", - "revision": 20, - "txn_id": "txn_0025" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:03Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0020", - "operation": "user.create", - "payload_digest": "sha256:67e02676f1f6d286e8b3624b34c5496ed548e0ac92c3485f85c350f4c54dcce7", - "reason": "parity harness", - "revision": 19, - "txn_id": "txn_0024" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:57Z", - "entity_id": "prj_0001", - "entity_kind": "project", - "id": "aud_0019", - "operation": "project.writeback", - "payload_digest": "sha256:5160587a6bd4fd6e1c8cfdfbe9e7b71a0aff7cb411b75e8ad277bea16adfdf65", - "reason": "parity harness", - "revision": 18, - "txn_id": "txn_0022" - } - ], - "total": 23 - }, - "is_error": false, - "operation": "audit.list" - }, - { - "body": { - "records": [ - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:07Z", - "entity_id": "tok_0002", - "entity_kind": "token", - "id": "aud_0022", - "operation": "token.revoke", - "payload_digest": "sha256:09ebf7754bdeb8a7bab3516ffbce7a7dbbbd3fa3990e31ad5ffdee6504b718d3", - "reason": "parity harness", - "revision": 21, - "txn_id": "txn_0026" - }, - { - "actor_id": "act_0001", - "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:05Z", - "entity_id": "act_0005", - "entity_kind": "user", - "id": "aud_0021", - "operation": "user.set_password", - "payload_digest": "sha256:6782e2b5fa4d26772e8b2eeacbf82bb2c48960ddb25c736b28001d387114acf5", - "reason": "parity harness", - "revision": 20, - "txn_id": "txn_0025" - } - ], - "total": 23 - }, - "is_error": false, - "operation": "audit.list" - }, - { - "body": { - "text": "invalid_request: /backup is a backup of this instance (ins_0001); a clone copies another instance. Use `restore` to put this one back." - }, - "is_error": true, - "operation": "clone" - }, - { - "body": { - "text": "invalid_request: /backup is a backup of this instance (ins_0001); a clone copies another instance. Use `restore` to put this one back." - }, - "is_error": true, - "operation": "clone" - }, - { - "body": { - "text": "not_found: /missing has no manifest.json; it is not a Vogt backup" - }, - "is_error": true, - "operation": "clone" - }, - { - "body": { - "text": "invalid_request: 'not a repo!' does not name a GitHub repository or a configured Forgejo repository; give owner/name, host/owner/name, or a repository URL" - }, - "is_error": true, - "operation": "project.import" - }, - { - "body": { - "text": "invalid_request: 'not a repo!' does not name a GitHub repository or a configured Forgejo repository; give owner/name, host/owner/name, or a repository URL" - }, - "is_error": true, - "operation": "project.import" - } -] diff --git a/tests/parity/golden/21c95f6-s2/meta.json b/tests/parity/golden/21c95f6-s2/meta.json deleted file mode 100644 index b93bd981..00000000 --- a/tests/parity/golden/21c95f6-s2/meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "main_sha": "21c95f674e1b03ee177394f605abb1abfac41cdd", - "recorded_at": "2026-10-17T05:20:05Z", - "recorder": "scripts/parity.py" -} diff --git a/tests/parity/script.json b/tests/parity/script.json index df369972..d2533f17 100644 --- a/tests/parity/script.json +++ b/tests/parity/script.json @@ -189,6 +189,10 @@ "exit": 0 } }, + { + "operation": "dump.after_project_and_label", + "dump": true + }, { "operation": "project.brief", "params": { From a1d0fb77bb01f0991c270df2b79fee8da3b67534 Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 07:34:16 +0000 Subject: [PATCH 07/10] test(cli): a domain-error test points at an operation still unported (WI-1067) decision.* is ported now (WI-1069), so `decision list` no longer hits the not-ported handler this test relies on. engine.status is still unported and takes no arguments. Co-Authored-By: Claude Haiku 5.5 Signed-off-by: sprooty --- engine/core/src/adapters/cli.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/core/src/adapters/cli.rs b/engine/core/src/adapters/cli.rs index 4ebd92a7..4e75c6a0 100644 --- a/engine/core/src/adapters/cli.rs +++ b/engine/core/src/adapters/cli.rs @@ -1818,7 +1818,7 @@ mod tests { fn a_domain_error_exits_one() { let registry = default_registry(); let result = at_eighty( - &argv(&["decision", "list"]), + &argv(&["engine", "status"]), ®istry, "test", &mut no_dispatch, From 6fe0073a7aa93d95d3adab87948cd6a2ac673b97 Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 07:34:16 +0000 Subject: [PATCH 08/10] test(parity): re-record golden 21c95f6 from Python on the rebased tree (WI-1067) Recorded from the Python reference at main 21c95f6, on top of origin/rust-core cf2d3ca6. It now includes the WI-1067 project, label, place and deployed steps and the WI-1069 decision, preference and inbox steps. Co-Authored-By: Claude Haiku 5.5 Signed-off-by: sprooty --- tests/parity/golden/21c95f6/cli.json | 668 +++++++++++++++++++++++++++ 1 file changed, 668 insertions(+) diff --git a/tests/parity/golden/21c95f6/cli.json b/tests/parity/golden/21c95f6/cli.json index eaccc7e5..ed813e34 100644 --- a/tests/parity/golden/21c95f6/cli.json +++ b/tests/parity/golden/21c95f6/cli.json @@ -1149,6 +1149,674 @@ "exit": 0, "operation": "project.register" }, + { + "body": { + "declared": { + "actors": [ + { + "created_at": "2026-01-02T03:04:07+00:00", + "disabled": 0, + "display_name": "parity", + "id": "act_0001", + "identity_ref": "local:parity", + "kind": "human" + }, + { + "created_at": "2026-01-02T03:04:09+00:00", + "disabled": 0, + "display_name": "agent:vogt-engine", + "id": "act_0002", + "identity_ref": "agent:vogt-engine", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:13+00:00", + "disabled": 0, + "display_name": "agent:vogt-sessions", + "id": "act_0003", + "identity_ref": "agent:vogt-sessions", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:05+00:00", + "disabled": 0, + "display_name": "Parity Agent", + "id": "act_0004", + "identity_ref": "agent:parity", + "kind": "agent" + } + ], + "audit": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "ins_0001", + "entity_kind": "instance", + "id": "aud_0001", + "operation": "instance.init", + "payload_digest": "", + "reason": "instance bootstrap", + "revision": 0, + "txn_id": "txn_0001" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "entity_id": "tok_0001", + "entity_kind": "token", + "id": "aud_0002", + "operation": "token.adopt", + "payload_digest": "", + "reason": "adopting the operator-supplied core token at init", + "revision": 1, + "txn_id": "txn_0002" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0003", + "operation": "token.adopt", + "payload_digest": "", + "reason": "adopting the operator-supplied agent token at init", + "revision": 2, + "txn_id": "txn_0003" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "entity_id": "act_0004", + "entity_kind": "actor", + "id": "aud_0004", + "operation": "actor.create", + "payload_digest": "", + "reason": "parity harness", + "revision": 3, + "txn_id": "txn_0004" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "entity_id": "lbl_0001", + "entity_kind": "label", + "id": "aud_0005", + "operation": "label.create", + "payload_digest": "", + "reason": "parity harness", + "revision": 4, + "txn_id": "txn_0005" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0006", + "operation": "project.register", + "payload_digest": "", + "reason": "parity harness", + "revision": 5, + "txn_id": "txn_0006" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0007", + "operation": "project.update", + "payload_digest": "", + "reason": "parity harness", + "revision": 6, + "txn_id": "txn_0007" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0008", + "operation": "project.transition", + "payload_digest": "", + "reason": "parity harness", + "revision": 7, + "txn_id": "txn_0008" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:05+00:00", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0009", + "operation": "project.scaffold", + "payload_digest": "", + "reason": "parity harness", + "revision": 8, + "txn_id": "txn_0009" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "entity_id": "prj_0002", + "entity_kind": "project", + "id": "aud_0010", + "operation": "project.register", + "payload_digest": "", + "reason": "parity harness", + "revision": 9, + "txn_id": "txn_0010" + } + ], + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.created", + "seq": 3, + "summary": "{\"identity_ref\": \"agent:parity\", \"kind\": \"agent\"}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "audit_id": "aud_0005", + "entity_id": "lbl_0001", + "entity_kind": "label", + "kind": "label.created", + "seq": 4, + "summary": "{\"name\": \"parity\"}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "audit_id": "aud_0006", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.registered", + "seq": 5, + "summary": "{\"slug\": \"parity\", \"name\": \"Parity\"}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "audit_id": "aud_0007", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.updated", + "seq": 6, + "summary": "{\"slug\": \"parity\", \"exclusions\": [\".venv/\", \"node_modules/\", \"target/\", \"dist/\", \"build/\", \".git/\", \".claude/\"], \"repo_url\": \"https://example.invalid/parity.git\", \"agent_policy\": {\"forbidden_text\": [], \"merge_deploys_prod\": false, \"main_branches\": [], \"base_branch\": \"\", \"commit_identity\": \"\", \"test_recipe\": \"\", \"deployed_setup\": \"\", \"rules\": [], \"session_wall_clock_minutes\": null, \"landing\": null, \"review\": null, \"verification\": null}}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "audit_id": "aud_0008", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.transitioned", + "seq": 7, + "summary": "{\"slug\": \"parity\", \"from\": \"incubating\", \"to\": \"active\"}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:05+00:00", + "audit_id": "aud_0009", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.scaffolded", + "seq": 8, + "summary": "{\"slug\": \"parity\", \"created\": 0, \"skipped\": 6}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:06+00:00", + "audit_id": "aud_0010", + "entity_id": "prj_0002", + "entity_kind": "project", + "kind": "project.registered", + "seq": 9, + "summary": "{\"slug\": \"second\", \"name\": \"Second\"}" + } + ], + "labels": [ + { + "color": "#d73a4a", + "created_at": "2026-01-02T03:04:05+00:00", + "id": "lbl_0001", + "name": "parity" + } + ], + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "revision", + "value": "9" + }, + { + "key": "work_ref_seq", + "value": "0" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:07+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", + "id": "0002_work" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", + "id": "0003_observed_first" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", + "id": "0004_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", + "id": "0005_tokens" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", + "id": "0006_writeback" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", + "id": "0007_sessions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", + "id": "0008_superseded_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", + "id": "0009_inbox_triage" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", + "id": "0010_session_model" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", + "id": "0011_contract_adoption" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", + "id": "0012_forge_accounts" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", + "id": "0013_upstream_truth" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", + "id": "0014_native_migration" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", + "id": "0015_work_overlay_branches" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", + "id": "0016_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", + "id": "0017_password_credentials" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", + "id": "0018_actor_preferences" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", + "id": "0019_session_grants" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", + "id": "0020_install_latch" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", + "id": "0021_agent_policy" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", + "id": "0022_comment_kind" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", + "id": "0023_decisions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", + "id": "0024_session_started_by" + } + ], + "projects": [ + { + "agent_policy": "{\"forbidden_text\":[],\"merge_deploys_prod\":false,\"main_branches\":[],\"base_branch\":\"\",\"commit_identity\":\"\",\"test_recipe\":\"\",\"deployed_setup\":\"\",\"rules\":[],\"session_wall_clock_minutes\":null,\"landing\":null,\"review\":null,\"verification\":null}", + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05+00:00", + "contract_version": null, + "created_at": "2026-01-02T03:04:05+00:00", + "current_version": null, + "exclusions": "[\".venv/\", \"node_modules/\", \"target/\", \"dist/\", \"build/\", \".git/\", \".claude/\"]", + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05+00:00", + "write_back": "none" + }, + { + "agent_policy": "{\"forbidden_text\":[],\"merge_deploys_prod\":false,\"main_branches\":[],\"base_branch\":\"\",\"commit_identity\":\"\",\"test_recipe\":\"\",\"deployed_setup\":\"\",\"rules\":[],\"session_wall_clock_minutes\":null,\"landing\":null,\"review\":null,\"verification\":null}", + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": null, + "contract_version": null, + "created_at": "2026-01-02T03:04:05+00:00", + "current_version": null, + "exclusions": "[\".venv/\", \"node_modules/\", \"target/\", \"dist/\", \"build/\", \".git/\", \".claude/\"]", + "id": "prj_0002", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Second", + "repo_url": null, + "root_path": "/second", + "slug": "second", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05+00:00", + "write_back": "none" + } + ], + "tokens": [ + { + "actor_id": "act_0002", + "created_at": "2026-01-02T03:04:11+00:00", + "expires_at": null, + "id": "tok_0001", + "kind": "api", + "last_used_at": null, + "name": "bootstrap core token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\"]", + "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" + }, + { + "actor_id": "act_0003", + "created_at": "2026-01-02T03:04:15+00:00", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", + "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" + } + ], + "workflow_defs": [ + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "feature", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "bug", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "chore", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "question", + "updated_at": "2026-01-02T03:04:05+00:00" + } + ] + }, + "observed": { + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:08+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "c050f9e4dba983119f045b8fb4ccbe8b1ee97473170eead7d28279e99468de4b", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "9cdc9c9179740af96606bab0b557c7b35639eaabc78faf16630c7705f1d368f5", + "id": "0002_evidence" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8bf0b8533774a156762fddc2e56bbb9656ba3b6bf0e38ec85a66c9dc9c325ed1", + "id": "0003_inherited_dep_refs" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8d5cffbb2acb6ff18099ad73384eaa4ea5ebca7a6f45afb79d353fb4cbbcaee6", + "id": "0004_forge_sync" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e6902e6616ab9948f9d222b2763ce9bc421a136b6acb1422240e5957683e5e45", + "id": "0005_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e0e959f4bf4f39db47d5e41ac11391d5f80a0b73bcce57d36168572062b1ab66", + "id": "0006_agent_activity" + } + ] + } + }, + "exit": 0, + "operation": "dump.after_project_and_label" + }, + { + "body": { + "by_kind": {}, + "by_state": {}, + "ci_status": { + "checks": 0, + "detail": "swept, but no CI checks were observed \u2014 either this project has none, or the optional forge adapter is not configured", + "earlier_failures": 0, + "failing": [], + "revision": null, + "revisions_observed": 0, + "status": "no_checks" + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "current_version": null, + "declared_version": null, + "declared_work": 0, + "dependencies": { + "detail": "`dep-refs` has not walked this project; its references are not collected, which is not the same as none", + "referenced_by": 0, + "references_out": 0, + "status": "not_collected", + "unresolved": 0 + }, + "freshness": { + "age_seconds": null, + "collectors": "", + "detail": "no collector has completed a sweep yet", + "oldest_relevant_sweep": null, + "status": "never_swept" + }, + "observed_version": null, + "observed_work": 0, + "open_bugs": 0, + "open_work": 0, + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "landing": null, + "main_branches": [], + "merge_deploys_prod": false, + "review": null, + "rules": [], + "session_wall_clock_minutes": null, + "test_recipe": "", + "verification": null + }, + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:05Z", + "contract_version": null, + "created_at": "2026-01-02T03:04:05Z", + "current_version": null, + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:05Z", + "write_back": "none" + }, + "top_backlog": [], + "version_matches": null + }, + "exit": 0, + "operation": "project.brief" + }, + { + "body": { + "backlog_total_considered": 0, + "drift_present": false, + "generated_at": "2026-01-02T03:04:08Z", + "inbox_active": 0, + "inbox_active_unfiltered": 0, + "inbox_filter": null, + "projects_total": 2, + "revision": 9, + "work_total": 0 + }, + "exit": 0, + "operation": "place.metrics" + }, + { + "body": { + "configured": 0, + "detail": "deploy_lanes is not configured, so deployed versions are not collected", + "freshness": { + "age_seconds": null, + "collectors": "", + "detail": "no collector has completed a sweep yet", + "oldest_relevant_sweep": null, + "status": "never_swept" + }, + "lanes": [] + }, + "exit": 0, + "operation": "deployed.versions" + }, { "body": { "initiative": { From a435a8c73120ee8d78e703b0dc964b9777532b6f Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 08:16:41 +0000 Subject: [PATCH 09/10] test(parity): re-record the 21c95f6 golden on rust-core after #1077 (WI-1067) Co-Authored-By: Claude Opus 5.5 Signed-off-by: sprooty --- tests/parity/golden/21c95f6/cli.json | 6 +- tests/parity/golden/21c95f6/http.json | 341 +++++++++++ tests/parity/golden/21c95f6/mcp.json | 851 +++++++++++++++++++++++--- tests/parity/golden/21c95f6/meta.json | 2 +- 4 files changed, 1095 insertions(+), 105 deletions(-) diff --git a/tests/parity/golden/21c95f6/cli.json b/tests/parity/golden/21c95f6/cli.json index ed813e34..2d212d75 100644 --- a/tests/parity/golden/21c95f6/cli.json +++ b/tests/parity/golden/21c95f6/cli.json @@ -1590,7 +1590,7 @@ "link_state": "unlinked", "name": "Second", "repo_url": null, - "root_path": "/second", + "root_path": "/instance/repos/second", "slug": "second", "trust_state": "unverified", "updated_at": "2026-01-02T03:04:05+00:00", @@ -1730,7 +1730,7 @@ }, "freshness": { "age_seconds": null, - "collectors": "", + "collectors": {}, "detail": "no collector has completed a sweep yet", "oldest_relevant_sweep": null, "status": "never_swept" @@ -1807,7 +1807,7 @@ "detail": "deploy_lanes is not configured, so deployed versions are not collected", "freshness": { "age_seconds": null, - "collectors": "", + "collectors": {}, "detail": "no collector has completed a sweep yet", "oldest_relevant_sweep": null, "status": "never_swept" diff --git a/tests/parity/golden/21c95f6/http.json b/tests/parity/golden/21c95f6/http.json index 8a8dfbdf..0968373f 100644 --- a/tests/parity/golden/21c95f6/http.json +++ b/tests/parity/golden/21c95f6/http.json @@ -47,6 +47,347 @@ }, "status": 200 }, + { + "operation": "dump.after_project_and_label", + "result": { + "declared": { + "actors": [ + { + "created_at": "2026-01-02T03:04:07+00:00", + "disabled": 0, + "display_name": "parity", + "id": "act_0001", + "identity_ref": "local:parity", + "kind": "human" + }, + { + "created_at": "2026-01-02T03:04:09+00:00", + "disabled": 0, + "display_name": "agent:vogt-engine", + "id": "act_0002", + "identity_ref": "agent:vogt-engine", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:13+00:00", + "disabled": 0, + "display_name": "agent:vogt-sessions", + "id": "act_0003", + "identity_ref": "agent:vogt-sessions", + "kind": "agent" + } + ], + "audit": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "ins_0001", + "entity_kind": "instance", + "id": "aud_0001", + "operation": "instance.init", + "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", + "reason": "instance bootstrap", + "revision": 0, + "txn_id": "txn_0001" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "entity_id": "tok_0001", + "entity_kind": "token", + "id": "aud_0002", + "operation": "token.adopt", + "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", + "reason": "adopting the operator-supplied core token at init", + "revision": 1, + "txn_id": "txn_0002" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0003", + "operation": "token.adopt", + "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", + "reason": "adopting the operator-supplied agent token at init", + "revision": 2, + "txn_id": "txn_0003" + } + ], + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" + } + ], + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "revision", + "value": "2" + }, + { + "key": "work_ref_seq", + "value": "0" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:07+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", + "id": "0002_work" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", + "id": "0003_observed_first" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", + "id": "0004_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", + "id": "0005_tokens" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", + "id": "0006_writeback" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", + "id": "0007_sessions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", + "id": "0008_superseded_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", + "id": "0009_inbox_triage" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", + "id": "0010_session_model" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", + "id": "0011_contract_adoption" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", + "id": "0012_forge_accounts" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", + "id": "0013_upstream_truth" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", + "id": "0014_native_migration" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", + "id": "0015_work_overlay_branches" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", + "id": "0016_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", + "id": "0017_password_credentials" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", + "id": "0018_actor_preferences" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", + "id": "0019_session_grants" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", + "id": "0020_install_latch" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", + "id": "0021_agent_policy" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", + "id": "0022_comment_kind" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", + "id": "0023_decisions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", + "id": "0024_session_started_by" + } + ], + "tokens": [ + { + "actor_id": "act_0002", + "created_at": "2026-01-02T03:04:11+00:00", + "expires_at": null, + "id": "tok_0001", + "kind": "api", + "last_used_at": null, + "name": "bootstrap core token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\"]", + "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" + }, + { + "actor_id": "act_0003", + "created_at": "2026-01-02T03:04:15+00:00", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", + "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" + } + ], + "workflow_defs": [ + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "feature", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "bug", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "chore", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "question", + "updated_at": "2026-01-02T03:04:05+00:00" + } + ] + }, + "observed": { + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:08+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "c050f9e4dba983119f045b8fb4ccbe8b1ee97473170eead7d28279e99468de4b", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "9cdc9c9179740af96606bab0b557c7b35639eaabc78faf16630c7705f1d368f5", + "id": "0002_evidence" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8bf0b8533774a156762fddc2e56bbb9656ba3b6bf0e38ec85a66c9dc9c325ed1", + "id": "0003_inherited_dep_refs" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8d5cffbb2acb6ff18099ad73384eaa4ea5ebca7a6f45afb79d353fb4cbbcaee6", + "id": "0004_forge_sync" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e6902e6616ab9948f9d222b2763ce9bc421a136b6acb1422240e5957683e5e45", + "id": "0005_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e0e959f4bf4f39db47d5e41ac11391d5f80a0b73bcce57d36168572062b1ab66", + "id": "0006_agent_activity" + } + ] + } + } + }, { "operation": "install.bootstrap", "result": { diff --git a/tests/parity/golden/21c95f6/mcp.json b/tests/parity/golden/21c95f6/mcp.json index 5e18a5a5..3891f8e9 100644 --- a/tests/parity/golden/21c95f6/mcp.json +++ b/tests/parity/golden/21c95f6/mcp.json @@ -1078,16 +1078,665 @@ "is_error": false, "operation": "project.register" }, + { + "body": { + "declared": { + "actors": [ + { + "created_at": "2026-01-02T03:04:07+00:00", + "disabled": 0, + "display_name": "parity", + "id": "act_0001", + "identity_ref": "local:parity", + "kind": "human" + }, + { + "created_at": "2026-01-02T03:04:09+00:00", + "disabled": 0, + "display_name": "agent:vogt-engine", + "id": "act_0002", + "identity_ref": "agent:vogt-engine", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:13+00:00", + "disabled": 0, + "display_name": "agent:vogt-sessions", + "id": "act_0003", + "identity_ref": "agent:vogt-sessions", + "kind": "agent" + }, + { + "created_at": "2026-01-02T03:04:07+00:00", + "disabled": 0, + "display_name": "Parity Agent", + "id": "act_0004", + "identity_ref": "agent:parity", + "kind": "agent" + } + ], + "audit": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:07+00:00", + "entity_id": "ins_0001", + "entity_kind": "instance", + "id": "aud_0001", + "operation": "instance.init", + "payload_digest": "sha256:0000000000000000000000000000000000000000000000000000000000000000", + "reason": "instance bootstrap", + "revision": 0, + "txn_id": "txn_0001" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "entity_id": "tok_0001", + "entity_kind": "token", + "id": "aud_0002", + "operation": "token.adopt", + "payload_digest": "sha256:59549779aa0cda6825e03092b441cacac09d0003597ed7fd262fc918fdedf350", + "reason": "adopting the operator-supplied core token at init", + "revision": 1, + "txn_id": "txn_0002" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "entity_id": "tok_0002", + "entity_kind": "token", + "id": "aud_0003", + "operation": "token.adopt", + "payload_digest": "sha256:f1942d83b32c6907f41a7053a5e2b379b085799a1b1a2bb7dd9e2a327080cefc", + "reason": "adopting the operator-supplied agent token at init", + "revision": 2, + "txn_id": "txn_0003" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:08+00:00", + "entity_id": "act_0004", + "entity_kind": "actor", + "id": "aud_0004", + "operation": "actor.create", + "payload_digest": "sha256:13c248cfc7facfe4a7022b16e588334355643842ebef9a6a9f0fd8979954320f", + "reason": "parity harness", + "revision": 3, + "txn_id": "txn_0004" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:10+00:00", + "entity_id": "lbl_0001", + "entity_kind": "label", + "id": "aud_0005", + "operation": "label.create", + "payload_digest": "sha256:f6f8e5c46129b1e6924fd1039c61d459516692bcd37e593e81ec685aae3abe8e", + "reason": "parity harness", + "revision": 4, + "txn_id": "txn_0005" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0006", + "operation": "project.register", + "payload_digest": "", + "reason": "parity harness", + "revision": 5, + "txn_id": "txn_0006" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:14+00:00", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0007", + "operation": "project.update", + "payload_digest": "sha256:85cef2a14b2915d804f8a1f0719eda74903a43d1a02acb5cd724a7116e91b517", + "reason": "parity harness", + "revision": 6, + "txn_id": "txn_0007" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0008", + "operation": "project.transition", + "payload_digest": "sha256:d0cff29b2f2ccbadaec9a3c59ffe9f147af198d477b8a01ca760d9dd27247a2a", + "reason": "parity harness", + "revision": 7, + "txn_id": "txn_0008" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:17+00:00", + "entity_id": "prj_0001", + "entity_kind": "project", + "id": "aud_0009", + "operation": "project.scaffold", + "payload_digest": "sha256:63107a85166b692b1819b975af61afe2e585b9921f36531a77717420e2922fd6", + "reason": "parity harness", + "revision": 8, + "txn_id": "txn_0009" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:19+00:00", + "entity_id": "prj_0002", + "entity_kind": "project", + "id": "aud_0010", + "operation": "project.register", + "payload_digest": "", + "reason": "parity harness", + "revision": 9, + "txn_id": "txn_0010" + } + ], + "events": [ + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "audit_id": "aud_0002", + "entity_id": "tok_0001", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 1, + "summary": "{\"actor\": \"agent:vogt-engine\", \"scopes\": [\"read\", \"work.write\", \"project.write\"]}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "audit_id": "aud_0003", + "entity_id": "tok_0002", + "entity_kind": "token", + "kind": "token.adopted", + "seq": 2, + "summary": "{\"actor\": \"agent:vogt-sessions\", \"scopes\": [\"read\", \"work.write\", \"project.write\", \"writeback\"]}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:08+00:00", + "audit_id": "aud_0004", + "entity_id": "act_0004", + "entity_kind": "actor", + "kind": "actor.created", + "seq": 3, + "summary": "{\"identity_ref\": \"agent:parity\", \"kind\": \"agent\"}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:10+00:00", + "audit_id": "aud_0005", + "entity_id": "lbl_0001", + "entity_kind": "label", + "kind": "label.created", + "seq": 4, + "summary": "{\"name\": \"parity\"}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:12+00:00", + "audit_id": "aud_0006", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.registered", + "seq": 5, + "summary": "{\"slug\": \"parity\", \"name\": \"Parity\"}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:14+00:00", + "audit_id": "aud_0007", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.updated", + "seq": 6, + "summary": "{\"slug\": \"parity\", \"exclusions\": [\".venv/\", \"node_modules/\", \"target/\", \"dist/\", \"build/\", \".git/\", \".claude/\"], \"repo_url\": \"https://example.invalid/parity.git\", \"agent_policy\": {\"forbidden_text\": [], \"merge_deploys_prod\": false, \"main_branches\": [], \"base_branch\": \"\", \"commit_identity\": \"\", \"test_recipe\": \"\", \"deployed_setup\": \"\", \"rules\": [], \"session_wall_clock_minutes\": null, \"landing\": null, \"review\": null, \"verification\": null}}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:16+00:00", + "audit_id": "aud_0008", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.transitioned", + "seq": 7, + "summary": "{\"slug\": \"parity\", \"from\": \"incubating\", \"to\": \"active\"}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:17+00:00", + "audit_id": "aud_0009", + "entity_id": "prj_0001", + "entity_kind": "project", + "kind": "project.scaffolded", + "seq": 8, + "summary": "{\"slug\": \"parity\", \"created\": 0, \"skipped\": 6}" + }, + { + "actor_id": "act_0001", + "at": "2026-01-02T03:04:19+00:00", + "audit_id": "aud_0010", + "entity_id": "prj_0002", + "entity_kind": "project", + "kind": "project.registered", + "seq": 9, + "summary": "{\"slug\": \"second\", \"name\": \"Second\"}" + } + ], + "labels": [ + { + "color": "#d73a4a", + "created_at": "2026-01-02T03:04:09+00:00", + "id": "lbl_0001", + "name": "parity" + } + ], + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "revision", + "value": "9" + }, + { + "key": "work_ref_seq", + "value": "0" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:07+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "83cf77f4abe04e89c2efa22271c6d9275532f1dd37a270b7667226b3748ae643", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f690b73e4b9523cd85b818ac11c6fecf086c020683324dccbc03ec3d7b59627d", + "id": "0002_work" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9032649fc02951fe5d6340a6f9576a45b8d7197057990c68dca834a1d26f48b8", + "id": "0003_observed_first" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "cc588f67774949d31caf0305200e557cc666617b8f5a2469f958f511944ee3f4", + "id": "0004_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "0e2adf0935fc90a6810710297ab3490edb430b47d9d169a2166ae189c24223b2", + "id": "0005_tokens" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "37b95c74c33d9d7c5ee649ab72b265b4de517b41a40cb3a2c768099f210b0f58", + "id": "0006_writeback" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "47c82ee427931ca7c0a3a8d047298ffe5c2b2ad49ff06f83b00acf59306a1ff6", + "id": "0007_sessions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "f533369dd3625830341933caac68f4611a02d0e4055b9d37a62db9c59f731ce3", + "id": "0008_superseded_drift" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "b0ca1559346b05c6ef818b3b65c2ae798f05c755c7a0dd326c73227da770c226", + "id": "0009_inbox_triage" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "de3f70faf7ccb5fd276455a9a56eb7a731c8334fb6964ea6d5eb2407dbcb03f5", + "id": "0010_session_model" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "7b4ab541ce8b97e31f1871373c6400e7a6390bdc70356fe703f3aa5e29211582", + "id": "0011_contract_adoption" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "c819361c246e6c76035ed27c1a296d723235259c449a2ee2ce192163b8cb8a3a", + "id": "0012_forge_accounts" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "fa8e380cd0761fe49bf3a46fd7e9305799fe8f142fdc331c71d2a0836fa00c3f", + "id": "0013_upstream_truth" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2fef3fae64abd522ef65b21eef63f5a93d2b44ded81e5836da1288639a59a70d", + "id": "0014_native_migration" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "6f60bd5cae2d90f79cfb72228c88b21927958bdeedc7f00da59835c3e18a928c", + "id": "0015_work_overlay_branches" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e9d6f101a8d95929b51b6dd9a4d1ccc0e3a732e49fd605c60de3ee849be7a113", + "id": "0016_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "3131bbedaed1c58d3997598f18e8f30d103ec6f1447d38dcaa2a2846f1b7d8f8", + "id": "0017_password_credentials" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "a04732a0b920af03fc8731b513260caf81d25216533efb8c8eac030185371c00", + "id": "0018_actor_preferences" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "2c307b06be247b5b5739230750785d9209dee953a22da0354952ebe1cf45811d", + "id": "0019_session_grants" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "e5fd2b7bd062d50c9d21a923df3176e9e5b69e9fb06b0dd6bf75b295d694b761", + "id": "0020_install_latch" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "9f11063cfd66c2940b21819453fa18f16123b56f59ce77f2bad74d50523d5127", + "id": "0021_agent_policy" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "1a86e121ab2879671fd44ee5a9276e05d4af19bb4b98e71e3426634958be7078", + "id": "0022_comment_kind" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "8fb4506bf7517137f5e20b26525268bda7af4bcd45057731547564d5428f615e", + "id": "0023_decisions" + }, + { + "applied_at": "2026-01-02T03:04:05+00:00", + "checksum": "806ade321a5da9c91bbbbff49927587f48cb214cadca672c1b5a705d60662cf9", + "id": "0024_session_started_by" + } + ], + "projects": [ + { + "agent_policy": "{\"forbidden_text\":[],\"merge_deploys_prod\":false,\"main_branches\":[],\"base_branch\":\"\",\"commit_identity\":\"\",\"test_recipe\":\"\",\"deployed_setup\":\"\",\"rules\":[],\"session_wall_clock_minutes\":null,\"landing\":null,\"review\":null,\"verification\":null}", + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11+00:00", + "contract_version": null, + "created_at": "2026-01-02T03:04:11+00:00", + "current_version": null, + "exclusions": "[\".venv/\", \"node_modules/\", \"target/\", \"dist/\", \"build/\", \".git/\", \".claude/\"]", + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:15+00:00", + "write_back": "none" + }, + { + "agent_policy": "{\"forbidden_text\":[],\"merge_deploys_prod\":false,\"main_branches\":[],\"base_branch\":\"\",\"commit_identity\":\"\",\"test_recipe\":\"\",\"deployed_setup\":\"\",\"rules\":[],\"session_wall_clock_minutes\":null,\"landing\":null,\"review\":null,\"verification\":null}", + "compliance_checked_at": null, + "compliance_status": "not_checked", + "contract_adopted_at": null, + "contract_version": null, + "created_at": "2026-01-02T03:04:18+00:00", + "current_version": null, + "exclusions": "[\".venv/\", \"node_modules/\", \"target/\", \"dist/\", \"build/\", \".git/\", \".claude/\"]", + "id": "prj_0002", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Second", + "repo_url": null, + "root_path": "/instance/repos/second", + "slug": "second", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:18+00:00", + "write_back": "none" + } + ], + "tokens": [ + { + "actor_id": "act_0002", + "created_at": "2026-01-02T03:04:11+00:00", + "expires_at": null, + "id": "tok_0001", + "kind": "api", + "last_used_at": null, + "name": "bootstrap core token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\"]", + "token_hash": "9545b721f3788049180e1ccb546015bce1287aeb505e54d04a01344bb38fe4f6" + }, + { + "actor_id": "act_0003", + "created_at": "2026-01-02T03:04:15+00:00", + "expires_at": null, + "id": "tok_0002", + "kind": "api", + "last_used_at": null, + "name": "bootstrap agent token", + "revoked_at": null, + "revoked_reason": null, + "scopes": "[\"read\", \"work.write\", \"project.write\", \"writeback\"]", + "token_hash": "d3ff8dd34b248fd9895c7ca25e883f4bc79b2321c11f6ebee6a619c6e702ce71" + } + ], + "workflow_defs": [ + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "feature", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "bug", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "chore", + "updated_at": "2026-01-02T03:04:05+00:00" + }, + { + "definition": "{\"initial_state\": \"open\", \"transitions\": {\"blocked\": [\"open\", \"in_progress\", \"wont_do\"], \"done\": [\"open\"], \"in_progress\": [\"review\", \"blocked\", \"open\", \"wont_do\"], \"open\": [\"in_progress\", \"blocked\", \"wont_do\"], \"review\": [\"done\", \"in_progress\", \"blocked\", \"wont_do\"], \"wont_do\": [\"open\"]}}", + "kind": "question", + "updated_at": "2026-01-02T03:04:05+00:00" + } + ] + }, + "observed": { + "meta": [ + { + "key": "instance_id", + "value": "ins_0001" + }, + { + "key": "created_at", + "value": "2026-01-02T03:04:08+00:00" + } + ], + "migration_lock": [ + { + "acquired_at": null, + "holder": null, + "id": 1 + } + ], + "migrations": [ + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "c050f9e4dba983119f045b8fb4ccbe8b1ee97473170eead7d28279e99468de4b", + "id": "0001_foundation" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "9cdc9c9179740af96606bab0b557c7b35639eaabc78faf16630c7705f1d368f5", + "id": "0002_evidence" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8bf0b8533774a156762fddc2e56bbb9656ba3b6bf0e38ec85a66c9dc9c325ed1", + "id": "0003_inherited_dep_refs" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "8d5cffbb2acb6ff18099ad73384eaa4ea5ebca7a6f45afb79d353fb4cbbcaee6", + "id": "0004_forge_sync" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e6902e6616ab9948f9d222b2763ce9bc421a136b6acb1422240e5957683e5e45", + "id": "0005_perf_indexes" + }, + { + "applied_at": "2026-01-02T03:04:06+00:00", + "checksum": "e0e959f4bf4f39db47d5e41ac11391d5f80a0b73bcce57d36168572062b1ab66", + "id": "0006_agent_activity" + } + ] + } + }, + "operation": "dump.after_project_and_label" + }, + { + "body": { + "by_kind": {}, + "by_state": {}, + "ci_status": { + "checks": 0, + "detail": "swept, but no CI checks were observed \u2014 either this project has none, or the optional forge adapter is not configured", + "earlier_failures": 0, + "failing": [], + "revisions_observed": 0, + "status": "no_checks" + }, + "compliance_status": "not_checked", + "declared_work": 0, + "dependencies": { + "detail": "`dep-refs` has not walked this project; its references are not collected, which is not the same as none", + "referenced_by": 0, + "references_out": 0, + "status": "not_collected", + "unresolved": 0 + }, + "freshness": { + "collectors": {}, + "detail": "no collector has completed a sweep yet", + "status": "never_swept" + }, + "observed_work": 0, + "open_bugs": 0, + "open_work": 0, + "project": { + "agent_policy": { + "base_branch": "", + "commit_identity": "", + "deployed_setup": "", + "forbidden_text": [], + "main_branches": [], + "merge_deploys_prod": false, + "rules": [], + "test_recipe": "" + }, + "compliance_status": "not_checked", + "contract_adopted_at": "2026-01-02T03:04:11Z", + "created_at": "2026-01-02T03:04:11Z", + "exclusions": [ + ".venv/", + "node_modules/", + "target/", + "dist/", + "build/", + ".git/", + ".claude/" + ], + "id": "prj_0001", + "lifecycle_state": "active", + "link_state": "unlinked", + "name": "Parity", + "repo_url": "https://example.invalid/parity.git", + "root_path": "/proj", + "slug": "parity", + "trust_state": "unverified", + "updated_at": "2026-01-02T03:04:15Z", + "write_back": "none" + }, + "top_backlog": [] + }, + "is_error": false, + "operation": "project.brief" + }, + { + "body": { + "backlog_total_considered": 0, + "drift_present": false, + "generated_at": "2026-01-02T03:04:25Z", + "inbox_active": 0, + "inbox_active_unfiltered": 0, + "projects_total": 2, + "revision": 9, + "work_total": 0 + }, + "is_error": false, + "operation": "place.metrics" + }, + { + "body": { + "configured": 0, + "detail": "deploy_lanes is not configured, so deployed versions are not collected", + "freshness": { + "collectors": {}, + "detail": "no collector has completed a sweep yet", + "status": "never_swept" + }, + "lanes": [] + }, + "is_error": false, + "operation": "deployed.versions" + }, { "body": { "initiative": { "body": "", - "created_at": "2026-01-02T03:04:20Z", + "created_at": "2026-01-02T03:04:26Z", "id": "ini_0001", "slug": "platform", "state": "open", "title": "Platform", - "updated_at": "2026-01-02T03:04:20Z", + "updated_at": "2026-01-02T03:04:26Z", "weight": 0 } }, @@ -1099,12 +1748,12 @@ "initiatives": [ { "body": "", - "created_at": "2026-01-02T03:04:20Z", + "created_at": "2026-01-02T03:04:26Z", "id": "ini_0001", "slug": "platform", "state": "open", "title": "Platform", - "updated_at": "2026-01-02T03:04:20Z", + "updated_at": "2026-01-02T03:04:26Z", "weight": 0 } ] @@ -1116,12 +1765,12 @@ "body": { "initiative": { "body": "", - "created_at": "2026-01-02T03:04:20Z", + "created_at": "2026-01-02T03:04:26Z", "id": "ini_0001", "slug": "platform", "state": "open", "title": "Platform work", - "updated_at": "2026-01-02T03:04:22Z", + "updated_at": "2026-01-02T03:04:28Z", "weight": 0 } }, @@ -1155,7 +1804,7 @@ "body": { "preference": { "key": "inbox.filter", - "updated_at": "2026-01-02T03:04:25Z", + "updated_at": "2026-01-02T03:04:31Z", "value": { "actor": "any", "sources": [ @@ -1244,7 +1893,7 @@ "github_scope": "registered projects only", "high_water": {}, "instance_scope": "registered projects only", - "snapshot_at": "2026-01-02T03:04:27Z" + "snapshot_at": "2026-01-02T03:04:33Z" }, "is_error": false, "operation": "inbox.list" @@ -1276,7 +1925,7 @@ "comments": [], "item": { "body": "", - "created_at": "2026-01-02T03:04:29Z", + "created_at": "2026-01-02T03:04:35Z", "id": "wrk_0001", "kind": "chore", "labels": [], @@ -1287,7 +1936,7 @@ "state": "open", "title": "parity item", "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:29Z" + "updated_at": "2026-01-02T03:04:35Z" }, "live_sessions": [], "sessions": [], @@ -1302,7 +1951,7 @@ "comments": [], "item": { "body": "", - "created_at": "2026-01-02T03:04:29Z", + "created_at": "2026-01-02T03:04:35Z", "id": "wrk_0001", "kind": "chore", "labels": [], @@ -1313,7 +1962,7 @@ "state": "open", "title": "parity item renamed", "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:31Z" + "updated_at": "2026-01-02T03:04:37Z" }, "live_sessions": [], "sessions": [], @@ -1366,7 +2015,7 @@ "comments": [], "item": { "body": "", - "created_at": "2026-01-02T03:04:29Z", + "created_at": "2026-01-02T03:04:35Z", "id": "wrk_0001", "kind": "chore", "labels": [], @@ -1377,7 +2026,7 @@ "state": "open", "title": "parity item renamed", "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:31Z" + "updated_at": "2026-01-02T03:04:37Z" }, "live_sessions": [], "sessions": [], @@ -1392,7 +2041,7 @@ "actor_display_name": "parity", "actor_id": "act_0001", "body": "parity note", - "created_at": "2026-01-02T03:04:36Z", + "created_at": "2026-01-02T03:04:42Z", "id": "cmt_0001", "kind": "note", "work_item_id": "wrk_0001" @@ -1408,7 +2057,7 @@ "comments": [], "item": { "body": "", - "created_at": "2026-01-02T03:04:29Z", + "created_at": "2026-01-02T03:04:35Z", "id": "wrk_0001", "kind": "chore", "labels": [], @@ -1419,7 +2068,7 @@ "state": "in_progress", "title": "parity item renamed", "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:39Z" + "updated_at": "2026-01-02T03:04:45Z" }, "live_sessions": [], "sessions": [], @@ -1462,8 +2111,8 @@ "": 1 }, "revision": 17, - "snapshot": "eyJmaW5nZXJwcmludCI6InNoYTI1Njo2N2JkMGQ3MTUxN2JlYThkM2VkNmJjYWE0ZTFmZTY2YzYyNTM5MGRkNjg2ODI3MjM1Njk4MTUxMDg2ZDc0MDYzIiwiaGlnaF93YXRlciI6WyIyMDI2LTAxLTAyVDAzOjA0OjI5KzAwOjAwIiwiV0ktMSJdLCJraW5kIjoic25hcHNob3QiLCJyZXZpc2lvbiI6MTcsInNuYXBzaG90X2F0IjoiMjAyNi0wMS0wMlQwMzowNDo0MSswMDowMCJ9", - "snapshot_at": "2026-01-02T03:04:41Z", + "snapshot": "eyJmaW5nZXJwcmludCI6InNoYTI1Njo2N2JkMGQ3MTUxN2JlYThkM2VkNmJjYWE0ZTFmZTY2YzYyNTM5MGRkNjg2ODI3MjM1Njk4MTUxMDg2ZDc0MDYzIiwiaGlnaF93YXRlciI6WyIyMDI2LTAxLTAyVDAzOjA0OjM1KzAwOjAwIiwiV0ktMSJdLCJraW5kIjoic25hcHNob3QiLCJyZXZpc2lvbiI6MTcsInNuYXBzaG90X2F0IjoiMjAyNi0wMS0wMlQwMzowNDo0NyswMDowMCJ9", + "snapshot_at": "2026-01-02T03:04:47Z", "total": 1 }, "is_error": false, @@ -1491,7 +2140,7 @@ "state": "in_progress", "title": "parity item renamed", "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:39Z" + "updated_at": "2026-01-02T03:04:45Z" } ], "observed": 0, @@ -1556,7 +2205,7 @@ { "body": { "applied": false, - "base": "2026-01-02T03:04:48Z", + "base": "2026-01-02T03:04:54Z", "base_source": "an export of this same instance: its exported_at", "by_entity": { "actor": { @@ -1651,7 +2300,7 @@ "root_path": "/proj", "slug": "parity", "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:50Z", + "updated_at": "2026-01-02T03:04:56Z", "write_back": "full" } }, @@ -1663,7 +2312,7 @@ "actions": [ { "action": "comment", - "at": "2026-01-02T03:04:37Z", + "at": "2026-01-02T03:04:43Z", "detail": "write-back is off for this project", "id": "wbk_0001", "outcome": "skipped", @@ -1680,7 +2329,7 @@ "actions": [ { "action": "comment", - "at": "2026-01-02T03:04:37Z", + "at": "2026-01-02T03:04:43Z", "detail": "write-back is off for this project", "id": "wbk_0001", "outcome": "skipped", @@ -1861,7 +2510,7 @@ "items": [ { "body": "", - "created_at": "2026-01-02T03:04:29Z", + "created_at": "2026-01-02T03:04:35Z", "id": "wrk_0001", "kind": "chore", "labels": [], @@ -1872,7 +2521,7 @@ "state": "in_progress", "title": "parity item renamed", "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:39Z" + "updated_at": "2026-01-02T03:04:45Z" } ], "mode": "full", @@ -1915,7 +2564,7 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:52Z", + "at": "2026-01-02T03:04:58Z", "entity_id": "prj_0001", "entity_kind": "project", "id": "aud_0020", @@ -1928,7 +2577,7 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:51Z", + "at": "2026-01-02T03:04:57Z", "entity_id": "prj_0001", "entity_kind": "project", "id": "aud_0019", @@ -1941,12 +2590,12 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:40Z", + "at": "2026-01-02T03:04:46Z", "entity_id": "wrk_0001", "entity_kind": "work_item", "id": "aud_0018", "operation": "work.transition", - "payload_digest": "sha256:3e2a6091aa3749e51f7d31a8e33b394a832c09657e63217835f679d979d60c0e", + "payload_digest": "sha256:939b83a6dc5267e90a0a3a2a14a555a9e3f4e2aef4ad639c6cce2926b340b433", "reason": "parity", "revision": 17, "txn_id": "txn_0019" @@ -1954,12 +2603,12 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:38Z", + "at": "2026-01-02T03:04:44Z", "entity_id": "cmt_0001", "entity_kind": "comment", "id": "aud_0017", "operation": "work.comment", - "payload_digest": "sha256:4b2f8d9eeac24ac39262aff03628f2c1fd35cf5d69ee46e22cb9297504bac702", + "payload_digest": "sha256:99be8e34fd97a59c4231a9a0486189f35b99c0ffe966b6ef8b063cb25178d164", "reason": "parity", "revision": 16, "txn_id": "txn_0018" @@ -1967,12 +2616,12 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:32Z", + "at": "2026-01-02T03:04:38Z", "entity_id": "wrk_0001", "entity_kind": "work_item", "id": "aud_0016", "operation": "work.update", - "payload_digest": "sha256:1b7bbf5cf7c7f958e503144a57ead6668ed52a60ad818983f2b53baccbe0ff89", + "payload_digest": "sha256:bb461bbf55ff1118209c5b8a84ee0c9282ea3d25cb9db35ab8b07f3a62770b98", "reason": "parity", "revision": 15, "txn_id": "txn_0017" @@ -2011,7 +2660,7 @@ "test_recipe": "" }, "compliance_status": "not_checked", - "created_at": "2026-01-02T03:04:55Z", + "created_at": "2026-01-02T03:05:01Z", "exclusions": [ ".venv/", "node_modules/", @@ -2028,7 +2677,7 @@ "root_path": "/instance/repos/broken", "slug": "broken", "trust_state": "unverified", - "updated_at": "2026-01-02T03:04:55Z", + "updated_at": "2026-01-02T03:05:01Z", "write_back": "none" } }, @@ -2055,7 +2704,7 @@ }, "engine": "no session engine is configured (VOGT_ENGINE_URL is unset)", "rows": [], - "swept_at": "2026-01-02T03:04:58Z" + "swept_at": "2026-01-02T03:05:04Z" }, "is_error": false, "operation": "session.sweep" @@ -2206,7 +2855,7 @@ "content_digest": "sha256:af09c76d426d6e99f4350729e7969584f83fc572511e128eedce52b46eeab94f", "kind": "dep_scan", "observation_id": "obs_0001", - "observed_at": "2026-01-02T03:05:00+00:00", + "observed_at": "2026-01-02T03:05:06+00:00", "payload": "{\"manifests_read\": 0, \"references\": 0, \"root_exists\": true, \"unreadable_manifests\": [], \"unsupported_manifests\": []}", "project_id": "prj_0003", "promoted": 0, @@ -2218,7 +2867,7 @@ "content_digest": "sha256:af09c76d426d6e99f4350729e7969584f83fc572511e128eedce52b46eeab94f", "kind": "dep_scan", "observation_id": "obs_0002", - "observed_at": "2026-01-02T03:05:00+00:00", + "observed_at": "2026-01-02T03:05:06+00:00", "payload": "{\"manifests_read\": 0, \"references\": 0, \"root_exists\": true, \"unreadable_manifests\": [], \"unsupported_manifests\": []}", "project_id": "prj_0001", "promoted": 0, @@ -2230,7 +2879,7 @@ "content_digest": "sha256:efb8e7f9565a659b7236558520425790e45b29c9c53cc6687bad8156d87a0025", "kind": "dep_scan", "observation_id": "obs_0003", - "observed_at": "2026-01-02T03:05:00+00:00", + "observed_at": "2026-01-02T03:05:06+00:00", "payload": "{\"manifests_read\": 0, \"references\": 0, \"root_exists\": false, \"unreadable_manifests\": [], \"unsupported_manifests\": []}", "project_id": "prj_0002", "promoted": 0, @@ -2242,7 +2891,7 @@ "content_digest": "sha256:8dbc2923a29adb7ae1615b49a4ab4dc43d6bab026b898480c971647e4f376a4f", "kind": "git.checkout", "observation_id": "obs_0004", - "observed_at": "2026-01-02T03:05:03+00:00", + "observed_at": "2026-01-02T03:05:09+00:00", "payload": "{\"detail\": \"no .git directory; this project is a plain folder\", \"is_git_repository\": false}", "project_id": "prj_0001", "promoted": 0, @@ -2254,7 +2903,7 @@ "content_digest": "sha256:8dbc2923a29adb7ae1615b49a4ab4dc43d6bab026b898480c971647e4f376a4f", "kind": "git.checkout", "observation_id": "obs_0005", - "observed_at": "2026-01-02T03:05:03+00:00", + "observed_at": "2026-01-02T03:05:09+00:00", "payload": "{\"detail\": \"no .git directory; this project is a plain folder\", \"is_git_repository\": false}", "project_id": "prj_0002", "promoted": 0, @@ -2321,7 +2970,7 @@ "content_digest": "sha256:af09c76d426d6e99f4350729e7969584f83fc572511e128eedce52b46eeab94f", "id": "obs_0001", "kind": "dep_scan", - "observed_at": "2026-01-02T03:05:00+00:00", + "observed_at": "2026-01-02T03:05:06+00:00", "payload": "{\"manifests_read\": 0, \"references\": 0, \"root_exists\": true, \"unreadable_manifests\": [], \"unsupported_manifests\": []}", "project_id": "prj_0003", "promoted": 0, @@ -2334,7 +2983,7 @@ "content_digest": "sha256:af09c76d426d6e99f4350729e7969584f83fc572511e128eedce52b46eeab94f", "id": "obs_0002", "kind": "dep_scan", - "observed_at": "2026-01-02T03:05:00+00:00", + "observed_at": "2026-01-02T03:05:06+00:00", "payload": "{\"manifests_read\": 0, \"references\": 0, \"root_exists\": true, \"unreadable_manifests\": [], \"unsupported_manifests\": []}", "project_id": "prj_0001", "promoted": 0, @@ -2347,7 +2996,7 @@ "content_digest": "sha256:efb8e7f9565a659b7236558520425790e45b29c9c53cc6687bad8156d87a0025", "id": "obs_0003", "kind": "dep_scan", - "observed_at": "2026-01-02T03:05:00+00:00", + "observed_at": "2026-01-02T03:05:06+00:00", "payload": "{\"manifests_read\": 0, \"references\": 0, \"root_exists\": false, \"unreadable_manifests\": [], \"unsupported_manifests\": []}", "project_id": "prj_0002", "promoted": 0, @@ -2360,7 +3009,7 @@ "content_digest": "sha256:8dbc2923a29adb7ae1615b49a4ab4dc43d6bab026b898480c971647e4f376a4f", "id": "obs_0004", "kind": "git.checkout", - "observed_at": "2026-01-02T03:05:03+00:00", + "observed_at": "2026-01-02T03:05:09+00:00", "payload": "{\"detail\": \"no .git directory; this project is a plain folder\", \"is_git_repository\": false}", "project_id": "prj_0001", "promoted": 0, @@ -2373,7 +3022,7 @@ "content_digest": "sha256:8dbc2923a29adb7ae1615b49a4ab4dc43d6bab026b898480c971647e4f376a4f", "id": "obs_0005", "kind": "git.checkout", - "observed_at": "2026-01-02T03:05:03+00:00", + "observed_at": "2026-01-02T03:05:09+00:00", "payload": "{\"detail\": \"no .git directory; this project is a plain folder\", \"is_git_repository\": false}", "project_id": "prj_0002", "promoted": 0, @@ -2386,51 +3035,51 @@ { "collector": "dep-refs", "detail": null, - "finished_at": "2026-01-02T03:05:01+00:00", + "finished_at": "2026-01-02T03:05:07+00:00", "id": "swp_0001", "outcome": "ok", "scope": "[\"prj_0003\", \"prj_0001\", \"prj_0002\"]", - "started_at": "2026-01-02T03:04:59+00:00", + "started_at": "2026-01-02T03:05:05+00:00", "stats": "{\"projects\": 3, \"new\": 3, \"unchanged\": 0, \"failed_projects\": 0}" }, { "collector": "git-local", "detail": "broken: CollectorError: git status could not be read in /instance/repos/broken: fatal: not a git repository: /nowhere", - "finished_at": "2026-01-02T03:05:04+00:00", + "finished_at": "2026-01-02T03:05:10+00:00", "id": "swp_0002", "outcome": "partial", "scope": "[\"prj_0003\", \"prj_0001\", \"prj_0002\"]", - "started_at": "2026-01-02T03:05:02+00:00", + "started_at": "2026-01-02T03:05:08+00:00", "stats": "{\"projects\": 3, \"new\": 2, \"unchanged\": 0, \"failed_projects\": 1}" }, { "collector": "mirrored-source", "detail": null, - "finished_at": "2026-01-02T03:05:07+00:00", + "finished_at": "2026-01-02T03:05:13+00:00", "id": "swp_0003", "outcome": "ok", "scope": "[\"prj_0003\", \"prj_0001\", \"prj_0002\"]", - "started_at": "2026-01-02T03:05:05+00:00", + "started_at": "2026-01-02T03:05:11+00:00", "stats": "{\"projects\": 3, \"new\": 0, \"unchanged\": 0, \"failed_projects\": 0}" }, { "collector": "source-markers", "detail": null, - "finished_at": "2026-01-02T03:05:10+00:00", + "finished_at": "2026-01-02T03:05:16+00:00", "id": "swp_0004", "outcome": "ok", "scope": "[\"prj_0003\", \"prj_0001\", \"prj_0002\"]", - "started_at": "2026-01-02T03:05:08+00:00", + "started_at": "2026-01-02T03:05:14+00:00", "stats": "{\"projects\": 3, \"new\": 0, \"unchanged\": 0, \"failed_projects\": 0}" }, { "collector": "git-local", "detail": "broken: CollectorError: git status could not be read in /instance/repos/broken: fatal: not a git repository: /nowhere", - "finished_at": "2026-01-02T03:05:17+00:00", + "finished_at": "2026-01-02T03:05:23+00:00", "id": "swp_0005", "outcome": "partial", "scope": "[\"prj_0003\", \"prj_0001\", \"prj_0002\"]", - "started_at": "2026-01-02T03:05:15+00:00", + "started_at": "2026-01-02T03:05:21+00:00", "stats": "{\"projects\": 3, \"new\": 0, \"unchanged\": 2, \"failed_projects\": 1}" } ] @@ -2538,13 +3187,13 @@ "user": { "actor_id": "act_0005", "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:05:20Z", + "created_at": "2026-01-02T03:05:26Z", "scopes": [ "read", "work.write", "project.write" ], - "updated_at": "2026-01-02T03:05:20Z", + "updated_at": "2026-01-02T03:05:26Z", "username": "ada" } }, @@ -2557,13 +3206,13 @@ { "actor_id": "act_0005", "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:05:20Z", + "created_at": "2026-01-02T03:05:26Z", "scopes": [ "read", "work.write", "project.write" ], - "updated_at": "2026-01-02T03:05:20Z", + "updated_at": "2026-01-02T03:05:26Z", "username": "ada" } ] @@ -2576,13 +3225,13 @@ "user": { "actor_id": "act_0005", "actor_identity_ref": "human:ada", - "created_at": "2026-01-02T03:05:20Z", + "created_at": "2026-01-02T03:05:26Z", "scopes": [ "read", "work.write", "project.write" ], - "updated_at": "2026-01-02T03:05:22Z", + "updated_at": "2026-01-02T03:05:28Z", "username": "ada" } }, @@ -2633,7 +3282,7 @@ "id": "tok_0002", "kind": "api", "name": "bootstrap agent token", - "revoked_at": "2026-01-02T03:05:24Z", + "revoked_at": "2026-01-02T03:05:30Z", "revoked_reason": "parity harness", "scopes": [ "read", @@ -2670,7 +3319,7 @@ "instance_id": "ins_0001", "observed_schema_version": 6, "path": "/backup", - "taken_at": "2026-01-02T03:05:26Z" + "taken_at": "2026-01-02T03:05:32Z" }, "is_error": false, "operation": "backup" @@ -2683,7 +3332,7 @@ "import_root_then": "/instance/repos", "instance_id": "ins_0001", "migrations_applied": [], - "restored_from": "2026-01-02T03:05:26Z", + "restored_from": "2026-01-02T03:05:32Z", "source": "/backup" }, "is_error": false, @@ -2825,7 +3474,7 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:31Z", + "at": "2026-01-02T03:05:37Z", "entity_id": "act_0005", "entity_kind": "user", "id": "aud_0025", @@ -2838,12 +3487,12 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:25Z", + "at": "2026-01-02T03:05:31Z", "entity_id": "tok_0002", "entity_kind": "token", "id": "aud_0024", "operation": "token.revoke", - "payload_digest": "sha256:72df0d8c068af204558312866d5eb8de530834ebebaeb2a0a52f63f61eef79d6", + "payload_digest": "sha256:8df0a912a481d9f60a40b1711ebc52960d101752220f6647c5fa559b92df773a", "reason": "parity harness", "revision": 23, "txn_id": "txn_0033" @@ -2851,7 +3500,7 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:23Z", + "at": "2026-01-02T03:05:29Z", "entity_id": "act_0005", "entity_kind": "user", "id": "aud_0023", @@ -2864,7 +3513,7 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:21Z", + "at": "2026-01-02T03:05:27Z", "entity_id": "act_0005", "entity_kind": "user", "id": "aud_0022", @@ -2877,7 +3526,7 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:04:56Z", + "at": "2026-01-02T03:05:02Z", "entity_id": "prj_0003", "entity_kind": "project", "id": "aud_0021", @@ -2899,12 +3548,12 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:25Z", + "at": "2026-01-02T03:05:31Z", "entity_id": "tok_0002", "entity_kind": "token", "id": "aud_0024", "operation": "token.revoke", - "payload_digest": "sha256:72df0d8c068af204558312866d5eb8de530834ebebaeb2a0a52f63f61eef79d6", + "payload_digest": "sha256:8df0a912a481d9f60a40b1711ebc52960d101752220f6647c5fa559b92df773a", "reason": "parity harness", "revision": 23, "txn_id": "txn_0033" @@ -2912,7 +3561,7 @@ { "actor_id": "act_0001", "actor_identity_ref": "local:parity", - "at": "2026-01-02T03:05:23Z", + "at": "2026-01-02T03:05:29Z", "entity_id": "act_0005", "entity_kind": "user", "id": "aud_0023", @@ -2968,8 +3617,8 @@ "decision": { "asker": "local:parity", "context": "CI is green.", - "created_at": "2026-01-02T03:05:32Z", - "expires_at": "2026-01-03T03:05:32Z", + "created_at": "2026-01-02T03:05:38Z", + "expires_at": "2026-01-03T03:05:38Z", "id": "dec_0001", "options": [ { @@ -2996,8 +3645,8 @@ "decision": { "asker": "local:parity", "context": "", - "created_at": "2026-01-02T03:05:35Z", - "expires_at": "2026-01-03T03:05:35Z", + "created_at": "2026-01-02T03:05:41Z", + "expires_at": "2026-01-03T03:05:41Z", "id": "dec_0002", "options": [ { @@ -3025,8 +3674,8 @@ { "asker": "local:parity", "context": "", - "created_at": "2026-01-02T03:05:35Z", - "expires_at": "2026-01-03T03:05:35Z", + "created_at": "2026-01-02T03:05:41Z", + "expires_at": "2026-01-03T03:05:41Z", "id": "dec_0002", "options": [ { @@ -3047,8 +3696,8 @@ { "asker": "local:parity", "context": "CI is green.", - "created_at": "2026-01-02T03:05:32Z", - "expires_at": "2026-01-03T03:05:32Z", + "created_at": "2026-01-02T03:05:38Z", + "expires_at": "2026-01-03T03:05:38Z", "id": "dec_0001", "options": [ { @@ -3077,8 +3726,8 @@ { "asker": "local:parity", "context": "", - "created_at": "2026-01-02T03:05:35Z", - "expires_at": "2026-01-03T03:05:35Z", + "created_at": "2026-01-02T03:05:41Z", + "expires_at": "2026-01-03T03:05:41Z", "id": "dec_0002", "options": [ { @@ -3099,8 +3748,8 @@ { "asker": "local:parity", "context": "CI is green.", - "created_at": "2026-01-02T03:05:32Z", - "expires_at": "2026-01-03T03:05:32Z", + "created_at": "2026-01-02T03:05:38Z", + "expires_at": "2026-01-03T03:05:38Z", "id": "dec_0001", "options": [ { @@ -3181,7 +3830,7 @@ "evidence_snapshot": "", "freshness": "live", "kind": "decision.pending", - "occurred_at": "2026-01-02T03:05:35Z", + "occurred_at": "2026-01-02T03:05:41Z", "provisional": true, "source": "agent", "source_subject_key": "dec_0002", @@ -3202,7 +3851,7 @@ "evidence_snapshot": "", "freshness": "live", "kind": "decision.pending", - "occurred_at": "2026-01-02T03:05:32Z", + "occurred_at": "2026-01-02T03:05:38Z", "provisional": true, "source": "agent", "source_subject_key": "dec_0001", @@ -3214,10 +3863,10 @@ ], "github_scope": "registered projects only", "high_water": { - "agent": "2026-01-02T03:05:35Z" + "agent": "2026-01-02T03:05:41Z" }, "instance_scope": "registered projects only", - "snapshot_at": "2026-01-02T03:05:42Z" + "snapshot_at": "2026-01-02T03:05:48Z" }, "is_error": false, "operation": "inbox.list" @@ -3229,12 +3878,12 @@ "label": "Merge", "note": "reviewed" }, - "answered_at": "2026-01-02T03:05:48Z", + "answered_at": "2026-01-02T03:05:54Z", "answered_by": "local:parity", "asker": "local:parity", "context": "CI is green.", - "created_at": "2026-01-02T03:05:32Z", - "expires_at": "2026-01-03T03:05:32Z", + "created_at": "2026-01-02T03:05:38Z", + "expires_at": "2026-01-03T03:05:38Z", "id": "dec_0001", "options": [ { @@ -3275,8 +3924,8 @@ "decision": { "asker": "local:parity", "context": "", - "created_at": "2026-01-02T03:05:35Z", - "expires_at": "2026-01-03T03:05:35Z", + "created_at": "2026-01-02T03:05:41Z", + "expires_at": "2026-01-03T03:05:41Z", "id": "dec_0002", "options": [ { @@ -3306,12 +3955,12 @@ "label": "Merge", "note": "reviewed" }, - "answered_at": "2026-01-02T03:05:48Z", + "answered_at": "2026-01-02T03:05:54Z", "answered_by": "local:parity", "asker": "local:parity", "context": "CI is green.", - "created_at": "2026-01-02T03:05:32Z", - "expires_at": "2026-01-03T03:05:32Z", + "created_at": "2026-01-02T03:05:38Z", + "expires_at": "2026-01-03T03:05:38Z", "id": "dec_0001", "options": [ { @@ -3383,7 +4032,7 @@ "github_scope": "registered projects only", "high_water": {}, "instance_scope": "registered projects only", - "snapshot_at": "2026-01-02T03:05:56Z" + "snapshot_at": "2026-01-02T03:06:02Z" }, "is_error": false, "operation": "inbox.list" @@ -3407,7 +4056,7 @@ "preferences": [ { "key": "inbox.filter", - "updated_at": "2026-01-02T03:04:25Z", + "updated_at": "2026-01-02T03:04:31Z", "value": { "actor": "any", "sources": [ diff --git a/tests/parity/golden/21c95f6/meta.json b/tests/parity/golden/21c95f6/meta.json index 26292275..35878d2a 100644 --- a/tests/parity/golden/21c95f6/meta.json +++ b/tests/parity/golden/21c95f6/meta.json @@ -1,5 +1,5 @@ { "main_sha": "21c95f674e1b03ee177394f605abb1abfac41cdd", - "recorded_at": "2026-10-17T07:59:07Z", + "recorded_at": "2026-10-17T08:16:32Z", "recorder": "scripts/parity.py" } From 2ce22342f0ff4e15b70457bf73ac101b0545f0fd Mon Sep 17 00:00:00 2001 From: sprooty Date: Sat, 17 Oct 2026 08:28:33 +0000 Subject: [PATCH 10/10] test(core): not-ported test points at engine.status; forge.link is ported on rust-core (WI-1067) Co-Authored-By: Claude Opus 5.5 Signed-off-by: sprooty --- engine/core/src/registry.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/core/src/registry.rs b/engine/core/src/registry.rs index 04ee8609..c3ea550b 100644 --- a/engine/core/src/registry.rs +++ b/engine/core/src/registry.rs @@ -994,7 +994,7 @@ mod tests { #[test] fn not_ported_is_a_failure() { let registry = registry(); - let operation = registry.get("forge.link").unwrap(); + let operation = registry.get("engine.status").unwrap(); let error = operation.run(None, serde_json::json!({})).unwrap_err(); assert!( error.message().contains("not been ported"),