SysProM
    Preparing search index...

    Interface BidirectionalSyncResult

    Result of synchronisation between two documents.

    interface BidirectionalSyncResult {
        changedNodes: string[];
        conflict: boolean;
        jsonChanged: boolean;
        mdChanged: boolean;
        strategy: "json" | "md" | "interactive" | "report";
        synced: {
            $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[];
                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;
                }[];
                propagation?: Record<string, boolean>;
                rationale?: string | string[];
                scope?: string[];
                selected?: string;
                status?: undefined;
                subsystem?: { nodes: { [x: string]: unknown; id: string; type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | ... 5 more ... | "milestone"; ... 13 more ...; subsystem?: ... | undefined; }[]; $schema?: string | undefined; metadata?...;
                type:
                    | "intent"
                    | "concept"
                    | "capability"
                    | "element"
                    | "realisation"
                    | "invariant"
                    | "principle"
                    | "policy"
                    | "protocol"
                    | "stage"
                    | "role"
                    | "gate"
                    | "mode"
                    | "artefact"
                    | "decision"
                    | "change"
                    | "view"
                    | "milestone";
                [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"
                    | "part_of"
                    | "precedes"
                    | "must_follow"
                    | "governed_by"
                    | "modifies"
                    | "produces";
                [key: string]: unknown;
            }[];
        };
    }
    Index

    Properties

    changedNodes: string[]

    IDs of nodes that differ between JSON and MD

    conflict: boolean

    True if both sides diverged

    jsonChanged: boolean

    True if JSON side was newer/modified

    mdChanged: boolean

    True if MD side was newer/modified

    strategy: "json" | "md" | "interactive" | "report"

    The strategy applied to resolve any conflicts

    synced: {
        $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[];
            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;
            }[];
            propagation?: Record<string, boolean>;
            rationale?: string | string[];
            scope?: string[];
            selected?: string;
            status?: undefined;
            subsystem?: { nodes: { [x: string]: unknown; id: string; type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | ... 5 more ... | "milestone"; ... 13 more ...; subsystem?: ... | undefined; }[]; $schema?: string | undefined; metadata?...;
            type:
                | "intent"
                | "concept"
                | "capability"
                | "element"
                | "realisation"
                | "invariant"
                | "principle"
                | "policy"
                | "protocol"
                | "stage"
                | "role"
                | "gate"
                | "mode"
                | "artefact"
                | "decision"
                | "change"
                | "view"
                | "milestone";
            [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"
                | "part_of"
                | "precedes"
                | "must_follow"
                | "governed_by"
                | "modifies"
                | "produces";
            [key: string]: unknown;
        }[];
    }

    The resolved document after applying sync strategy