Skip to main content
Glama

Fable session, evidence, and review workflow

fable_session
Destructive

Run a Fable operation for gated AI coding workflows: create sessions, record evidence, verify proofs, advance phases, and control write access.

Instructions

Runs one Fable operation selected by action. Use it for Fable sessions, gates, evidence/proofs, review rubrics, checkpoints, compression, design audits, research scrapers, and explicitly experimental System 3 operations; use browser_* tools for web-page navigation and interaction. Start stateful workflows with create_session and a session_name; later session actions reuse that name. Only fields documented for the selected action are read, and missing or invalid inputs return an Error: message without raising an MCP transport error. Status/list/telemetry/get/view/check operations are read-only. Create, log, record, set, advance, checkpoint, restore, track, evaluate, register, compress/accumulate, evolve, generate, and scraper operations can persist Fable state or artifacts. unlock_execution remains blocked until its time and rationale gates pass; apply_auto_update can replace installed Fable files. The result is action-specific human-readable text in result; inspect that text for success or Error: before continuing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagNoEpistemic classification tag for truth calibration.
codeNoSource code content (HTML, JSX, CSS, or TSX) to audit or validate against anti-slop gates.
nameNoName identifier for automation pipeline spec.
treeNoTree hierarchy adjacency list or nested dict for hyperbolic embedding.
claimNoFact, hypothesis statement, or unknown parameter to track in epistemic ledger.
edgesNoList of directed edge dictionaries for Causal DAG construction.
gammaNoPolicy precision inverse temperature gamma for Active Inference softmax (default 16.0).
labelNoOptional label or description for compressed CAS node.
nodesNoList of node dictionaries for Causal DAG construction.
actionYesThe Fable session action to perform.
axiomsNoList of reference axiom names or strings for proof oracle.
domainNoDomain boundary for the invariant or cortical plasticity consolidation.
statesNoList of hidden state identifiers for Active Inference POMDP.
targetNoTarget URL, ID, subreddit, repo, paper ID, handle, or search query string for research scraping actions.
worldsNoList of world/state definitions for Kripke structure.
actionsNoList of control action identifiers for Active Inference POMDP.
cas_refNoCAS reference URI (cas://<sha256_hex>) or 64-char hash.
contentNoRaw text content or payload to store/compress into Content-Addressed Storage (CAS).
contextNoHypothesis typing context dictionary {name: type} for proof oracle.
d_priorNoPrior initial state belief distribution D for Active Inference.
formulaNoCTL / modal formula string to verify against Kripke structure (e.g. 'AG(safe)', 'EF(goal)').
mockupsNoList of concept dictionaries for visual mockup recording.
payloadNoMicro-payload text for adaptive batch accumulator or CAS storage.
root_idNoRoot node ID for hyperbolic tree embedding or initial world.
task_idNoTask identifier for cortical plasticity consolidation or session lineage.
a_matrixNoObservation likelihood matrix A [O x S] for Active Inference.
criteriaNoList of criteria pointers or JSON string of rubric items for goal score evaluation.
end_lineNoEnding line number (1-indexed inclusive) for windowed line slice viewing.
evidenceNoSource file, command output, line number, or URL supporting the claim.
metadataNoOptional metadata dictionary attached to accumulated micro-payload.
policiesNoList of candidate action sequence policies for Expected Free Energy evaluation.
archetypeNoHaute aesthetic archetype identifier for design tokens or scaffolding.
base_stepNoBase geodesic step distance for hyperbolic tree embedding (default 1.0).
curvatureNoSectional curvature c > 0 of Poincaré manifold (default 1.0).
dimensionNoDimension of Poincaré ball manifold (default 2).
file_pathNoTarget file path for file change tracking or proof verification.
objectiveNoHigh-level goal or problem statement for the reasoning session.
rationaleNoJustification for unlocking code execution after satisfying cognitive gates.
rubric_idNoIdentifier of the goal rubric.
b_matricesNoState transition matrices B [Action -> S x S] for Active Inference.
entrypointNoOptional function name to probe inside the target source for red-team review. Auto-detected when the source defines exactly one public function.
focus_areaNoSpecific subsystem, component, algorithm, or interface being critically re-evaluated.
model_nameNoName for the causal DAG model in System 3 simulation.
next_phaseNoTarget phase to advance the session into.
proof_typeNoDeterministic proof type.
start_lineNoStarting line number (1-indexed inclusive) for windowed line slice viewing.
change_typeNoClassification of file change.
evaluationsNoAlias for item_evaluations: list or dict of criterion evaluation updates.
force_flushNoForce flush buffered micro-payloads immediately into a composite frame.
generationsNoNumber of evolutionary generations to run (default 3).
node_labelsNoOptional mapping of node IDs to readable labels.
observationNoCurrent sensory observation for Active Inference belief updating.
target_codeNoSource-code string input. Loaded and probed in an isolated subprocess sandbox (process boundary, resource limits, per-call timeout).
target_nameNoIdentifier or name of the target module, class, or function for red-team review.
transitionsNoList of transitions or adjacency dictionary for Kripke structure.
user_promptNoAlias for prompt: high-level design prompt describing desired web experience.
code_snippetNoAlternative alias for source-code string input. Executed in the isolated subprocess sandbox.
diff_summaryNoConcise summary of file changes, diff, or slated edits.
observationsNoList of observation identifiers for Active Inference POMDP.
prior_reportNoPrior red-team breakage report dictionary or JSON string to verify remediation against.
session_nameNoUnique identifier / name for the Fable session.
target_scoreNoTarget composite goal score threshold (default 0.95, min 0.0, max 1.0).
thesis_titleNoTitle of the thesis paradigm for System 3 dialectical synthesis.
artifact_pathNoAbsolute filesystem path to blueprint artifact, proof, or benchmark script documenting the refinement.
c_preferencesNoPrior preference distribution C over observations for Active Inference.
evaluator_cmdNoAlias for evaluator_command: shell command or tool invocation for candidate evaluator.
failure_countNoHistorical failure count for tri-level cognitive gear arbitration.
failure_modesNoList of adversarial failure modes identified in critique.
generator_cmdNoAlias for generator_command: shell command or tool invocation for candidate generator.
initial_worldNoInitial world ID for Kripke model checking.
interventionsNoDictionary of Pearl's do-operator interventions: {node_id: value}.
mutation_rateNoGenetic mutation rate probability (default 0.15).
phase_summaryNoConcise summary of findings or deliverables completed in the previous phase.
pipeline_nameNoAlternative alias for automation pipeline name.
pipeline_typeNoType of autonomous pipeline (default 'closed_loop').
target_metricNoTarget KPI node ID for sensitivity and structural brittleness analysis.
contradictionsNoList of parameter trade-offs / contradictions to resolve with TRIZ principles.
crossover_rateNoGenetic crossover rate probability (default 0.80).
dials_overrideNoOptional discrete dials override: variance (1-10), motion (1-10), density (1-10).
invariant_nameNoIdentifier or title of the formal invariant (e.g., 'INV-01: Zero-Deadlock Ring Buffer').
max_iterationsNoMaximum closed-loop iterations before halting (default 10).
seed_paradigmsNoOptional list of initial paradigm definitions to seed the gene pool.
task_objectiveNoTask objective or target outcome for goal scoring rubric.
min_improvementNoMinimum scalar measured-fitness gain required to reset stagnation (default 0.001).
population_sizeNoPopulation size for evolutionary gene pool (default 12).
refinement_typeNoType of rethink-refine cycle (e.g. 'archetype_exploration', 'triz_resolution', 'adversarial_falsification', 'benchmark_probe', 'failure_mode_analysis').
remediated_codeNoRemediated source-code string input. Executed in the isolated subprocess sandbox.
subagent_promptNoThe delegation prompt or contract text for the subagent to validate.
target_resourceNoTarget resource (file path, receipt ID) for proof verification.
task_complexityNoTask complexity index [0.0, 1.0] for tri-level cognitive arbitration.
antithesis_titleNoTitle of the antithesis / adversarial critique.
broken_scenariosNoList or JSON string of broken attack scenarios found during red-team review.
formal_statementNoMathematical or formal contract specification that must never be violated.
item_evaluationsNoItem evaluations mapping, list, or JSON string with pointer_id, satisfied, score, evidence_receipt_id.
observed_fitnessNoOptional measured fitness object keyed by genome ID, with '*' as a default row. Supplying it enables bounded evidence-fed evolution with stagnation stopping; values are clamped to [0, 1] and never authorize deployment.
selected_conceptNoIdentifier of the selected visual concept archetype.
target_thresholdNoTarget threshold score for pipeline iteration termination (default 0.95).
custom_hypothesesNoList or JSON string of custom adversarial hypotheses / attack vectors.
evaluator_commandNoShell command or tool invocation for candidate evaluator.
generator_commandNoShell command or tool invocation for candidate generator.
max_debate_roundsNoMaximum number of dialectical debate rounds for synthesis (default 4).
objective_weightsNoOptional dictionary of weights across the 10 Pareto dimensions.
archetype_overrideNoOptional override for Haute aesthetic archetype.
auto_log_epistemicNoWhether to automatically record retrieved research findings as a [HYPOTHESIS] candidate item in Fable Session's epistemic ledger for subsequent cross-verification.
proof_or_rationaleNoProof sketch, rationale, or inductive argument establishing the invariant.
thesis_descriptionNoCore architecture description and assumptions for the thesis candidate.
affected_invariantsNoList or string of invariant names affected by this file change.
stagnation_patienceNoMeasured generations without improvement before automatic evolution stops (default min(4, generations)).
time_budget_minutesNoImmutable outer authority budget in minutes. set_timer can only change the internal pacing timer.
include_line_numbersNoWhether to format line slice with line numbers.
contradiction_densityNoContradiction density index [0.0, 1.0] for cognitive gear shifting.
epistemic_uncertaintyNoEpistemic uncertainty index [0.0, 1.0] for arbitration.
critique_or_bottleneckNoCritical flaw, vulnerability, edge case, memory/latency bottleneck, or assumption scrutinized.
terminal_probe_resultsNoLive empirical probe output, benchmark figures, latency numbers, or profiling stats supporting the refinement.
architectural_refinementNoConcrete architectural evolution, optimization, or algorithm change derived from the critique.
target_residual_thresholdNoTarget residual contradiction score threshold for convergence (default 0.15).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYesAction-specific result text. Failures begin with `Error:`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.3.9
    • addedInput schema / properties / min_improvement
      Added value: +{
      +  "description": "Minimum scalar measured-fitness gain required to reset stagnation (default 0.001).",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / observed_fitness
      Added value: +{
      +  "description": "Optional measured fitness object keyed by genome ID, with '*' as a default row. Supplying it enables bounded evidence-fed evolution with stagnation stopping; values are clamped to [0, 1] and never authorize deployment.",
      +  "type": [
      +    "object",
      +    "string"
      +  ]
      +}
    • addedInput schema / properties / stagnation_patience
      Added value: +{
      +  "description": "Measured generations without improvement before automatic evolution stops (default min(4, generations)).",
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. Changed5 schema fields changedv1.3.7
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "create_session",
      -  "set_timer",
      -  "get_status",
      -  "telemetry",
      -  "advance_phase",
      -  "log_epistemic_item",
      -  "record_invariant",
      -  "log_refinement_cycle",
      -  "unlock_execution",
      -  "checkpoint_session",
      -  "restore_session",
      -  "list_sessions",
      -  "compile_delegation_contract",
      -  "compress_payload",
      -  "decompress_payload",
      -  "view_slice",
      -  "accumulate_payload",
      -  "flush_accumulator",
      -  "get_compression_stats",
      -  "system3_dialectical_synthesis",
      -  "system3_causal_simulate",
      -  "system3_evolve_paradigms",
      -  "system3_induce_axioms",
      -  "system3_meta_reflect",
      -  "system3_tri_level_orchestrate",
      -  "system3_hyperbolic_embed",
      -  "system3_kripke_verify",
      -  "system3_active_inference",
      -  "system3_proof_oracle",
      -  "track_file_change",
      -  "get_session_lineage",
      -  "inspect_plan",
      -  "verify_proof",
      -  "record_visual_mockups",
      -  "validate_event_history",
      -  "set_goal_rubric",
      -  "evaluate_goal_rubric",
      -  "get_goal_rubric",
      -  "register_automation_pipeline",
      -  "red_team_code_review",
      -  "record_breakage_report",
      -  "verify_red_team_remediation",
      -  "cortical_define_lobe",
      -  "cortical_list_lobes",
      -  "check_auto_update",
      -  "apply_auto_update",
      -  "evolve_cortex",
      -  "audit_anti_slop",
      -  "infer_design_brief",
      -  "generate_design_tokens",
      -  "generate_awwwards_scaffold",
      -  "validate_preflight_design",
      -  "list_design_archetypes",
      -  "scrape_web",
      -  "scrape_youtube",
      -  "scrape_reddit",
      -  "scrape_x",
      -  "scrape_github",
      -  "scrape_arxiv"
      -]New value: +[
      +  "create_session",
      +  "set_timer",
      +  "get_status",
      +  "telemetry",
      +  "advance_phase",
      +  "log_epistemic_item",
      +  "record_invariant",
      +  "log_refinement_cycle",
      +  "unlock_execution",
      +  "checkpoint_session",
      +  "restore_session",
      +  "list_sessions",
      +  "compile_delegation_contract",
      +  "compress_payload",
      +  "decompress_payload",
      +  "view_slice",
      +  "accumulate_payload",
      +  "flush_accumulator",
      +  "get_compression_stats",
      +  "system3_dialectical_synthesis",
      +  "system3_causal_simulate",
      +  "system3_evolve_paradigms",
      +  "system3_induce_axioms",
      +  "system3_meta_reflect",
      +  "system3_tri_level_orchestrate",
      +  "system3_hyperbolic_embed",
      +  "system3_kripke_verify",
      +  "system3_active_inference",
      +  "system3_proof_oracle",
      +  "track_file_change",
      +  "get_session_lineage",
      +  "inspect_plan",
      +  "verify_proof",
      +  "adjudicate_evidence",
      +  "record_visual_mockups",
      +  "validate_event_history",
      +  "set_goal_rubric",
      +  "evaluate_goal_rubric",
      +  "get_goal_rubric",
      +  "register_automation_pipeline",
      +  "red_team_code_review",
      +  "record_breakage_report",
      +  "verify_red_team_remediation",
      +  "cortical_define_lobe",
      +  "cortical_list_lobes",
      +  "check_auto_update",
      +  "apply_auto_update",
      +  "evolve_cortex",
      +  "audit_anti_slop",
      +  "infer_design_brief",
      +  "generate_design_tokens",
      +  "generate_awwwards_scaffold",
      +  "validate_preflight_design",
      +  "list_design_archetypes",
      +  "scrape_web",
      +  "scrape_youtube",
      +  "scrape_reddit",
      +  "scrape_x",
      +  "scrape_github",
      +  "scrape_arxiv"
      +]
    • changedInput schema / properties / code_snippet / description
      Previous value: -"Alternative alias for source-code string input. Dynamic target execution from source-code strings is disabled and requires a separate sandboxed executor."New value: +"Alternative alias for source-code string input. Executed in the isolated subprocess sandbox."
    • addedInput schema / properties / entrypoint
      Added value: +{
      +  "description": "Optional function name to probe inside the target source for red-team review. Auto-detected when the source defines exactly one public function.",
      +  "type": "string"
      +}
    • changedInput schema / properties / remediated_code / description
      Previous value: -"Remediated source-code string input. Dynamic target execution from source-code strings is disabled and requires a separate sandboxed executor."New value: +"Remediated source-code string input. Executed in the isolated subprocess sandbox."
    • changedInput schema / properties / target_code / description
      Previous value: -"Source-code string input. Dynamic target execution from source-code strings is disabled and requires a separate sandboxed executor."New value: +"Source-code string input. Loaded and probed in an isolated subprocess sandbox (process boundary, resource limits, per-call timeout)."
  3. Changed1 schema field changedv1.3.5
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "result": {
      +      "description": "Action-specific result text. Failures begin with `Error:`.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  4. First observedv1.3.2

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and readOnlyHint=false, and the description goes well beyond them: it partitions operations into read-only families (status/list/telemetry/get/view/check) vs. stateful ones (create, log, record, checkpoint, etc.), discloses error semantics ('missing or invalid inputs return an `Error:` message without raising an MCP transport error'), warns that `unlock_execution` stays blocked until gates pass, and flags that `apply_auto_update` can replace installed Fable files. This materially enriches the annotation-level safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph of moderate length, but for a tool with 116 parameters and 61 actions, the density is justified and nearly every clause earns its place. It is front-loaded with the core dispatcher concept and action-selection rule. Minor deduction: the long comma-enumerated lists of operation names and families are harder to scan than structured bullets or a small table would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the extreme complexity (116 params, 61 actions, output schema present), the description covers the essentials an agent needs: dispatch semantics, sibling-tool routing, session lifecycle, read-only vs. persistent operations, error-handling behavior, and two dangerous operations that require caution. Because an output schema exists, not restating return-value structure is acceptable; nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents every parameter, giving a baseline of 3. The description adds genuinely useful parameter behavior beyond the schema: 'Only fields documented for the selected action are read' — a critical clarification for a 116-parameter dispatcher — plus the `session_name` reuse convention and the note that results live in `result`. These rules prevent an agent from assuming all 116 parameters are applicable to every call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Runs one Fable operation selected by `action`' — accurately framing this as an action-dispatching umbrella tool. It then enumerates the domains it covers (sessions, gates, evidence, rubrics, checkpoints, etc.) and explicitly distinguishes itself from the browser_* sibling family, so an agent can determine what this tool is versus what it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance ('Use it for Fable sessions, gates, evidence/proofs...') and explicit when-not-to-use routing ('use browser_* tools for web-page navigation and interaction'). It also gives a concrete workflow rule: start stateful flows with `create_session` and `session_name`, then reuse the name — actionable direction an agent can follow without opening the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.