-- B07作者自报观察与实际反馈绑定;未知指标保留NULL,不自动建立因果或启用目标。 CREATE TABLE public.muse_author_observation ( observation_id uuid PRIMARY KEY, author_id text NOT NULL, command_id text NOT NULL, feedback_ids uuid[] NOT NULL CHECK(cardinality(feedback_ids) > 0), improvement_id uuid, improvement_revision integer, payload jsonb NOT NULL, content_hash text NOT NULL CHECK(content_hash ~ '^[0-9a-f]{64}$'), created_at timestamptz NOT NULL DEFAULT clock_timestamp(), UNIQUE(author_id,command_id), CHECK ((improvement_id IS NULL) = (improvement_revision IS NULL)), FOREIGN KEY(improvement_id,improvement_revision) REFERENCES public.muse_improvement_version(improvement_id,revision) ); CREATE TRIGGER muse_author_observation_immutable BEFORE UPDATE OR DELETE ON public.muse_author_observation FOR EACH ROW EXECUTE FUNCTION public.muse_guard_literary_history(); REVOKE ALL ON public.muse_author_observation FROM muse_eval; GRANT SELECT,INSERT ON public.muse_author_observation TO muse_app;