/**
 * Contract tests for steerable autonomous panel notification metadata.
 */
import assert from "node:assert";
import { test } from "vitest";
import { NOTICE_KIND } from "../notification-store.js";
import { buildSteeringPanelNotifyMeta } from "../steerable-autonomous-panel.js";

test("buildSteeringPanelNotifyMeta_when_focus_action_sets_user_visible_dedupe_and_source", () => {
	const meta = buildSteeringPanelNotifyMeta("focus_research");
	assert.strictEqual(meta.noticeKind, NOTICE_KIND.USER_VISIBLE);
	assert.strictEqual(meta.dedupe_key, "steer-panel:focus_research");
	assert.strictEqual(meta.source, "steerable-autonomous-panel");
});

test("buildSteeringPanelNotifyMeta_when_help_action_uses_distinct_dedupe_key", () => {
	const meta = buildSteeringPanelNotifyMeta("help");
	assert.strictEqual(meta.dedupe_key, "steer-panel:help");
});
