Antinomia synthesis
Type: agentic-system-analyses/types/agentic-system-synthesis.md
Bounded synthesis
Antinomia is an Obsidian plugin for Personal Tension Management: recording competing beliefs, comparing them with a model, and retaining principles, assumptions and rejected beliefs for further reflection. Its shipped implementation supports interactive proposal-and-review workflows, not an autonomous enclosing agent runtime. The source explicitly frames Hunter's proposed contradictions as prompts for thinking rather than truths for real-world decisions (EPI-CLM-reflective-practice).
This account covers the whole shipped plugin at commit 6fafd01082fbecb2a18803500a1abe70a2bdc9f4, with applicability cutoff 2026-11-08. Its evidence is static implementation and attributed doctrine/design from SRC-1, not an observed run or causal experiment. The boundary includes prompts, interactive drivers, persistence, maintenance and later consumers; it excludes Obsidian internals, provider implementations/weights and actual user vaults. Those exclusions prevent deployment, durability, accuracy and outcome conclusions (boundary and evidence, Source register). The report and profile verifications found no blockers, while retaining the report limitations below (report verification, profile verification).
From input to retained material
The user starts operations; plugin code sequences model requests, parsing and review interfaces; the model returns text; the human admits proposed content; Obsidian performs effects. In free input, a model classifies text as tension or substrate and extracts fields. Code permits one format-repair retry, then opens an editable creation modal. Create writes submitted fields, Cancel vetoes ordinary submission, and Skip can create a blank template. This is permission to save, not a required evidence-consuming truth test. The initial raw input is not necessarily preserved in the resulting note (RT-RTE-free-input, MEM-OBJ-note-content).
PDF and YouTube ingestion similarly extract concepts, sanitize nonempty fields and present a selectable batch before creating substrates and a source hub. Model input is bounded independently of source retention: PDF text is capped at 30,000 characters in its driver, and YouTube extraction receives a bounded prefix while the hub retains the full supplied transcript with line-start substitutions. PDF hubs point to the separately retained binary. Hubs enable human source access; Hunter does not automatically follow those references. Neither sanitization nor a fidelity prompt establishes that generated concepts preserve source meaning (RT-RTE-source-ingest, MEM-OBJ-source-hubs, EPI-CLM-source-fidelity).
Retained prose and control data have different force. Markdown bodies and assumption titles supply interpretive context; type/status metadata determines eligibility; dependency addresses select relationships; saved settings route requests and set budgets. Human submissions coexist with software-derived hub updates, link unions, backups and run metadata. Neither model authorship makes every admission automatic nor user initiation makes every derived write individually approved (MEM-OBJ-note-content, MEM-OBJ-note-metadata, MEM-OBJ-plugin-settings, MEM-OBJ-migration-backup).
Compare, filter and deliver
The representative workflow is a requested Hunter scan, candidate display, optional human false-positive dismissal and suppression on a later scan. Code selects open tensions and substrates, prioritizes newest modification times and applies a note cap; defaults are 20 notes and 800 body characters per note. Focus mode puts the focus first. Frontmatter is stripped and body prefixes are copied into a fresh model request. This controls context by selection and truncation, not conversational compaction or child-agent isolation. Omitted text remains in the vault, but this request has no automatic fetch step for it (RT-RTE-hunter-scan, workflow account).
The configured backend is a returning text computation, not a delegated worker with vault-editing tools. Profile settings and task budgets shape the request; endpoint/model strings do not pin immutable weights. Code normalizes returned pairs, retries once for missing expected structure, then checks selected-basename membership, distinct names, nonempty descriptions and focus involvement. These predicates establish structural admissibility, not real contradiction, complete examination of all pairs or compliance with the prompt's prohibition on resolving them (RT-RTE-model-request, RT-CMP-model, RT-RTE-hunter-scan, RT-BAP-prompt-policy).
Delivery is a result-view handoff with reflective warnings, not acceptance of knowledge. A prior run can remain visible after a failed or stopped attempt; the final count notice alone does not prove live rendering because the view call is optional. An empty result means no surviving candidates in that run, not a contradiction-free vault. User actions then separately initiate elevation, resolution or archiving (workflow account).
The strongest supported adaptive contribution is durable, reversible suppression of specifically rejected pairs. A human dismissal writes peer basenames into note frontmatter; later scans reconstruct pair keys and veto matching returned suggestions. The model still receives the notes. This is a wired behavioral-authority path with deterministic exclusion force, not merely stored feedback. It retains neither the rejection reason nor a revised general rule. Actual recurring use and improved future capacity remain unobserved; this path does not establish model training or an automatic trace-derived lesson (RT-RTE-pair-dismissal, RT-BAP-dismissal-filter, MEM-OBJ-hunter-feedback).
Elaborate rules without mistaking organization for warrant
Elevation offers editable IF/THEN/GREY principles, optionally model-proposed. Split mode creates a principle and points to a defeated original; transform mode embeds the old body in the principle. Later assumption mapping receives the principle body: embedded origins cross that request, but split pointers are not automatically dereferenced. Origin retention is therefore not complete reason delivery or evidence that a rule resolved the tension (RT-RTE-rule-admission, MEM-OBJ-note-content).
Principle mapping proposes U-note assumptions for human new/link/skip decisions and retains bidirectional dependency links. Existing-note context contains titles/basenames, not full assumption bodies, and can include undermined assumptions. Dependency lookup identifies encoded relationships through either link direction. Marking an assumption undermined changes its status, not dependent principle text or permission to use it. The older inline A/B mapping edits fields inside a tension rather than creating U-note dependencies (RT-RTE-assumption-admission, MEM-OBJ-presupposition, EPI-RTE-collapse-review, MEM-RTE-inline-assumptions).
For reflective comparison, these mechanisms support explicit organization, candidate criticism and persistent user control. For empirical rule validation or decision support, their warrant is narrower: source fidelity and logical necessity are requested or interpreted, not established by retention, confidence labels, graph incidence or human save decisions. The vault audit checks fixed completeness markers, not truth; origin repair can create placeholders, and merge can discard a body without copying it. The seeded example key affords human evaluation but supplies no executed result or component-isolating comparison (EPI-RTE-vault-audit, EPI-RTE-origin-maintenance, MEM-CLM-evaluation-key, epistemic conclusion).
The independent theory findings remain separate. Condition 1, localized theory content, is afforded by whole conditional-rule forms, though placeholders need not express a theory. Condition 2, consumption, is wired through later mapping of what the rule says; live semantic dependence is unobserved. Conditions 3 and 4—content-directed criticism with claim/result/blame/revision, and retention of criticism's result into another round—remain uninspected in operation. Criticism improving future capacity is unestablished. Technical reflection about the plugin's own organization is not established by helping a user reflect on beliefs. Autonomous theory building is unestablished: humans admit final content, and criticism-led iteration is not demonstrated. Exercised self-improvement at the plugin boundary is likewise unestablished; persistent feedback and rule elaboration alone do not close an evidence-responsive self-change pathway through causally dependent subsequent operation. These limits do not erase localized-rule affordances or wired feedback adaptation (RT-RTE-rule-admission, RT-RTE-pair-dismissal, epistemic conclusion).
Evidence that would change these assessments includes paired source/output fidelity checks, traces showing what context reached inference and what the user accepted against named criteria, and repeated trials separating model effects from selection, truncation and prompt effects. A criticism-to-revision-to-next-consumer trace could establish further theory-building properties; objective-linked organizational changes exercised in later operation would be needed for exercised self-improvement attribution. Stronger cancellation, universal acknowledgment or atomic-update conclusions would instead require corresponding enforcement changes, not merely successful examples of the current local controls.
Limitations
| Limitation | Affected SRC IDs and record citations | Inspected boundary | Conclusion prevented | Evidence that would resolve it |
|---|---|---|---|---|
| Deletion cleanup has a filename condition; runtime's unqualified description and specialist qualification remain an unresolved reconciliation conflict. | SRC-1; RT-RTE-assumption-admission, MEM-OBJ-note-metadata, EPI-RTE-collapse-review, report limits | main.ts invokes cleanup only for deleted Markdown basenames starting U-; flows/presuppositionMap.ts cleans principle-side links. |
Deleting any renamed/nonstandard presupposition note reliably cleans dependencies. | An identity-aware cleanup path covering those filenames, with corresponding records and host evidence. |
| Inline A/B assumptions lack a separately declared operative-object part; this is the other unresolved reconciliation conflict. | SRC-1; EPI-OBJ-assumption-text, MEM-OBJ-presupposition, MEM-RTE-inline-assumptions, report limits | Combined assumption inventory versus separately established inline write/read route in flows/presupposti.ts. |
Fully separated object-level assumption coverage, or attributing U-note dependency authority to inline fields. | A separately declared inline object with its own storage, consumers and authority findings. |
| No observed plugin run, real vault or causal comparison is supplied. | SRC-1; Source register, RT-RTE-hunter-scan, RT-RTE-rule-admission, MEM-CLM-evaluation-key | Static shipped implementation, prompts and seeded evaluation design. | Successful delivery, semantic accuracy, actual acceptance, improved capacity or isolated model benefit. | Inspectable end-to-end traces, criterion-based decisions and controlled outcome comparisons at this boundary. |
| Truncation, basename identity and provenance projections restrict what a comparison means. | SRC-1; RT-RTE-hunter-scan, MEM-OBJ-source-hubs, MEM-OBJ-note-content | Hunter body prefixes; capped ingest drivers; split versus embedded origins. | Complete vault/source examination, unambiguous identity, faithful extraction or automatic grounding through source links. | Context/output records with source checks; identity-safe selection and explicit evidence-reload routes where needed. |
| Stop and high friction are route-local controls. | SRC-1; RT-RTE-model-request, RT-CLM-friction-scope, report verification | Node local cancellation versus uncancellable fallback/remote transport; gated concept/U-note confirmations versus ungated free-input/elevation submissions. | Universal provider cancellation, no-late-review assurance or acknowledgment-before-every-write invariant. | Cancellation propagation and post-success guards across routes; persistence-level or consistently installed admission enforcement. |
| Multi-file effects and host consistency are not transactional guarantees. | SRC-1; RT-RTE-pair-dismissal, RT-RTE-assumption-admission, RT-RTE-source-ingest, RT-RTE-schema-migration | Sequential vault writes; external metadata cache/storage; batch migration backup, not every direct mutation. | Atomic reciprocal links, all-or-nothing ingestion, universal rollback or deployed durability. | Host contracts and failure/recovery traces, or explicit transactional/reconciliation mechanisms. |
| Inventory and classification uncertainties remain local rather than negative findings. | SRC-1; MEM-OBJ-plugin-settings, MEM-OBJ-source-hubs, MEM-OBJ-hunter-raw, profile verification | Settings backing store, PDF internals, historical vault admission/provenance and unestablished automatic trace-fed updates; external provider state excluded. | Complete memory-form/provenance classification or a system-wide absence of trace learning. | Records resolving each included uncertainty and a qualifying trace-write/later-consumer chain, or warranted bounded absence records. |
| Checks and inspection remain narrower than semantic certification. | SRC-1; EPI-RTE-vault-audit, MEM-RTE-retained-inspection, EPI-RTE-origin-maintenance, EPI-RTE-collapse-review | Fixed audit predicates, including Italian/current-English placeholder mismatch; partial detailed view/guidance inspection; reconstructed origins and dependency incidence. | A clean audit certifies compiled/true rules, histories are universally preserved, dependencies prove necessity, or all human guidance has been assessed. | Broader predicate/consumer records, authenticated histories and substantive evidence checks for the claimed semantic scope. |
Source-read log: no frozen-source reads were needed; this synthesis uses only the supplied members.