Member Junction
    Preparing search index...
    OutputTarget:
        | {
            EntityFieldName: string;
            LookupMatchField?: string;
            Mode: "field";
            OnLookupMiss?: "null"
            | "fail"
            | "create";
        }
        | {
            EntityName: string;
            FanOutRef?: string;
            Map: Record<string, string>;
            Mode: "child";
            ParentField: string;
        }
        | {
            Growth?: "constrained"
            | "auto-grow"
            | "hybrid";
            MatchThreshold?: number;
            MaxDepth?: number;
            Mode: "tags";
            RootTagID: string;
            TaggedEntityName?: string;
        }

    Type Declaration

    • {
          EntityFieldName: string;
          LookupMatchField?: string;
          Mode: "field";
          OnLookupMiss?: "null" | "fail" | "create";
      }

      MODE 1 — a field on the processed row. Write semantics are DERIVED from the field's metadata: TSType coercion for numeric/date/boolean, the CHECK value list for an enum, and for a foreign key the allowed set comes from RelatedEntityID — resolved by matching MatchField and writing the related row's ID. The spec never restates what metadata already knows.

      • EntityFieldName: string
      • OptionalLookupMatchField?: string

        FK only: which column of the related entity the model's answer matches. Default 'Name'.

      • Mode: "field"
      • OptionalOnLookupMiss?: "null" | "fail" | "create"

        FK only: what to do when no related row matches. Default 'null'.

    • {
          EntityName: string;
          FanOutRef?: string;
          Map: Record<string, string>;
          Mode: "child";
          ParentField: string;
      }

      MODE 2 — a related child row. FanOutRef promotes an array result to N rows (one per element). Values resolve from $ (result), record (parent row) and $run (provenance) alike.

    • {
          Growth?: "constrained" | "auto-grow" | "hybrid";
          MatchThreshold?: number;
          MaxDepth?: number;
          Mode: "tags";
          RootTagID: string;
          TaggedEntityName?: string;
      }

      MODE 3 — a tag, through the MJ Tagging system. The pipeline states WHERE in the taxonomy this feature is allowed to live and how far it may grow, so one entity can constrain different features to different subtrees.

      • OptionalGrowth?: "constrained" | "auto-grow" | "hybrid"

        Maps to TagEngine's TaxonomyMode. Default 'constrained'.

      • OptionalMatchThreshold?: number

        Minimum semantic-match score to accept an existing tag.

      • OptionalMaxDepth?: number

        How deep below the root a value may be placed/created. 1 = direct children only.

      • Mode: "tags"
      • RootTagID: string

        Root tag this feature's values must live under. Required — an unrooted feature pollutes the taxonomy.

      • OptionalTaggedEntityName?: string

        Entity the TaggedItem points at. Default: the processed entity.