Back to case studies

Research Workflow

Ingeniometrix Research Assistant

Ingeniometrix combines structured intake, academic source retrieval, selected evidence, strict JSON schema generation, coherence validation, and audit-ready outputs.

Source GroundingStrict JSON SchemaTraceabilityWorkflow State
Deck visual showing the Ingeniometrix workflow from structured intake to traceable reports.

01 / Overview

Research intelligence assembled into governed workflows.

Ingeniometrix turns structured academic intake and selected bibliographic evidence into a reviewable thesis-planning blueprint.

Structured thesis-planning workflow
Selected evidence before generation
Traceable reports with citations and audit trail

02 / Architecture

A live intelligence system with clear service boundaries.

The architecture separates interface, orchestration, retrieval, AI generation, persistence, and observability so each layer has a clear responsibility.

Application Layer

The interface captures structured intake, project context, and source-selection decisions.

AI Generation Layer

The model returns strict JSON schema output instead of uncontrolled narrative text.

Observability & Trust

Validation, audit logs, and traceability make the workflow reviewable.

03 / Validation

AI output is grounded by structure, validation, and traceability.

The system treats generation as one stage in a workflow that includes source retrieval, schema-grounded output, coherence validation, workflow state, and audit evidence.

Source-Grounded Generation

Blueprint generation is based on selected academic references rather than open-ended model recall.

Coherence Validation

Problem, gap, methods, objectives, and outputs are checked for alignment and coverage.

Workflow State

Created, processing, reviewed, and approved states make the process easier to operate.

04 / Output

The result is a review-ready research artifact.

Ingeniometrix packages model output into a blueprint that can be inspected, revised, versioned, and connected back to evidence.

Research problem, gap, objectives, methods, and expected outputs
Selected references and citation plan
Coherence report with pass, warning, and risk signals
Versioned blueprint snapshot and audit trail

05 / Engineering Signals

The model drafts; the system verifies.

The project demonstrates production-minded AI engineering through bounded inputs, selected evidence, structured outputs, validation logic, and versioned persistence.

Provider Abstraction

Generation is routed through a provider interface so orchestration is not hard-coupled to one model vendor.

Strict Schema

The output contract is enforced through JSON schema, then normalized and validated.

Traceability

References used in the blueprint must come from the selected evidence set.

Evaluation Layer

Coherence reporting turns generated output into something that can be reviewed and improved.

Technical Appendix

Key code patterns, shown without private implementation detail.

These excerpts show the core AI engineering ideas behind the workflow: validation, source traceability, and structured outputs.

Provider Abstraction

Model access behind a stable interface

The workflow avoids hard-coupling business logic to one LLM vendor by routing generation through a provider contract.

export interface LlmProvider {
  readonly name: string;
  generateStructuredObject(input: StructuredObjectInput): Promise<unknown>;
  generateText(input: TextGenerationInput): Promise<string>;
  generateTextDetailed(input: TextGenerationInput): Promise<TextGenerationResult>;
}

Structured Output

Strict JSON schema generation

The response is constrained by a JSON schema, which is stronger than simply asking the model to return JSON.

client.responses.create({
  model,
  store: false,
  input: prompt,
  text: {
    format: {
      type: "json_schema",
      name: "research_blueprint_core",
      strict: true,
      schema: researchBlueprintCoreSchema,
    },
  },
});

Workflow Orchestration

Blueprint generation with validation gates

The generation path includes readiness checks, context building, fallback behavior, normalization, traceability validation, persistence, and audit-ready metadata.

const BLUEPRINT_PROMPT_VERSION = "ingeniometrix-blueprint-v3";

assertIntakeExists(project);
assertSelectedReferencesWithinRange(project.projectReferences);

const referenceInsights = buildReferenceInsights(project.projectReferences);
const readiness = buildBlueprintReadinessSnapshot({ intake, referenceInsights });

const rawBlueprint = await generateStructuredObjectWithTextFallback({
  prompt,
  schema: researchBlueprintCoreSchema,
}).catch(() => buildFallbackBlueprintDraft({ project, intake }));

const normalized = normalizeBlueprintDraft({ draft: rawBlueprint, project, intake });
const citationPlan = buildCitationPlan({ blueprint: normalized, intake, referenceInsights });
validateBlueprintTraceability(normalized, selectedReferences);

await prisma.blueprintVersion.create({
  data: { promptVersion: BLUEPRINT_PROMPT_VERSION, blueprintJson, citationPlan },
});

Traceability

Selected-source enforcement

The final blueprint cannot cite references that were not selected for the project, which reduces unsupported evidence drift.

const selectedReferenceIds = new Set(
  selectedReferences.map((reference) => reference.id),
);

const invalidReferenceIds = blueprint.references_used
  .map((reference) => reference.reference_id?.trim())
  .filter(Boolean)
  .filter((referenceId) => !selectedReferenceIds.has(referenceId));

if (invalidReferenceIds.length > 0) {
  throw new Error(`Blueprint uses non-selected references: ${invalidReferenceIds.join(", ")}`);
}

if (blueprint.references_used.length === 0) {
  throw new Error("Blueprint did not include traceable references.");
}

Example Structured Output

{
  "project": "Ingeniometrix",
  "workflow": "thesis_blueprint_generation",
  "intake": {
    "topic": "Digital transformation in postgraduate academic advising",
    "degree_level": "masters",
    "methodology": "mixed_methods",
    "language": "Spanish"
  },
  "selected_references": [
    {
      "id": "ref_openalex_01",
      "provider": "OpenAlex",
      "status": "selected"
    },
    {
      "id": "ref_crossref_02",
      "provider": "Crossref",
      "status": "selected"
    }
  ],
  "blueprint": {
    "problem": "Advising workflows need clearer planning structure and traceable evidence.",
    "objectives": [
      "Define planning gaps",
      "Map evidence-backed methodology options"
    ],
    "outputs": [
      "research_problem",
      "objectives",
      "methods",
      "citation_plan"
    ]
  },
  "validation": {
    "schema_status": "pass",
    "traceability_status": "pass",
    "coherence_status": "warning",
    "risk_flags": [
      "Some sections require advisor review."
    ]
  },
  "audit": {
    "workflow_state": "review_ready",
    "prompt_version": "ingeniometrix-blueprint-v3",
    "versioned_artifact": true
  }
}