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[];
                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;
            }[];
        };
    }
    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[];
            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 resolved document after applying sync strategy