SysProM
    Preparing search index...

    Function planStatus

    • Inspect a document and return workflow completeness for a given prefix. Never throws — missing nodes are reported as "not defined".

      Parameters

      • doc: {
            $schema?: string;
            external_references?: {
                description?: string | string[];
                identifier: string;
                internalised?: string | string[];
                node_id?: string;
                role:
                    | "output"
                    | "input"
                    | "context"
                    | "evidence"
                    | "source"
                    | "standard"
                    | "prior_art";
            }[];
            metadata?: {
                doc_type?: string;
                scope?: string;
                status?: string;
                title?: string;
                version?: string
                | number;
                [key: string]: unknown;
            };
            nodes: {
                context?: string
                | string[];
                description?: string | string[];
                external_references?: {
                    description?: string | string[];
                    identifier: string;
                    internalised?: string | string[];
                    node_id?: string;
                    role:
                        | "output"
                        | "input"
                        | "context"
                        | "evidence"
                        | "source"
                        | "standard"
                        | "prior_art";
                }[];
                id: string;
                includes?: string[];
                input?: string;
                lifecycle?: Record<string, string | boolean>;
                name: string;
                operations?: {
                    description?: string | string[];
                    target?: string;
                    type: "link" | "add" | "update" | "remove";
                    [key: string]: unknown;
                }[];
                options?: {
                    description: string
                    | string[];
                    id: string;
                    [key: string]: unknown;
                }[];
                output?: string;
                plan?: {
                    description: string
                    | string[];
                    done?: boolean;
                    [key: string]: unknown;
                }[];
                propagation?: Record<string, boolean>;
                rationale?: string | string[];
                scope?: string[];
                selected?: string;
                status?:
                    | "deprecated"
                    | "proposed"
                    | "accepted"
                    | "active"
                    | "implemented"
                    | "adopted"
                    | "defined"
                    | "introduced"
                    | "in_progress"
                    | "complete"
                    | "consolidated"
                    | "experimental"
                    | "retired"
                    | "superseded"
                    | "abandoned"
                    | "deferred";
                subsystem?: { nodes: { [x: string]: unknown; id: string; type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | ... 7 more ... | "version"; ... 16 more ...; subsystem?: ... | undefined; }[]; $schema?: string | undefined; metadata?: ...;
                type: | "intent"
                | "concept"
                | "capability"
                | "element"
                | "realisation"
                | "invariant"
                | "principle"
                | "policy"
                | "protocol"
                | "stage"
                | "role"
                | "gate"
                | "mode"
                | "artefact"
                | "artefact_flow"
                | "decision"
                | "change"
                | "view"
                | "milestone"
                | "version";
                [key: string]: unknown;
            }[];
            relationships?: {
                description?: string
                | string[];
                from: string;
                polarity?: "positive" | "negative" | "neutral" | "uncertain";
                strength?: number;
                to: string;
                type:
                    | "refines"
                    | "realises"
                    | "implements"
                    | "depends_on"
                    | "constrained_by"
                    | "affects"
                    | "supersedes"
                    | "must_preserve"
                    | "performs"
                    | "part_of"
                    | "precedes"
                    | "must_follow"
                    | "blocks"
                    | "routes_to"
                    | "governed_by"
                    | "modifies"
                    | "triggered_by"
                    | "applies_to"
                    | "produces"
                    | "consumes"
                    | "transforms_into"
                    | "selects"
                    | "requires"
                    | "disables"
                    | "influence";
                [key: string]: unknown;
            }[];
        }

        The SysProM document.

      • prefix: string

        ID prefix identifying the plan (e.g. "PLAN").

      Returns PlanStatus

      Comprehensive status of all plan components.

      const status = planStatus(doc, "PLAN");