Features and Limitations¶
This ledger describes the current public package. It separates implemented features, conditional integration patterns, and features that are not included.
Support labels¶
| Label | Meaning |
|---|---|
| Supported | Implemented with deterministic repository tests |
| Conditional | The package contract exists, but a host-owned or private integration step is required |
| Configuration-only | A model capability is declared but no protected live model row is verified |
| Not included | No public package implementation exists |
Questionnaire extraction¶
| Capability | Status | Notes |
|---|---|---|
Questionnaire instrument to SurveySVIS |
Supported | Native XLSForm or provider-assisted document extraction |
| Local PDF, DOCX, XLSX, CSV, HTML, Markdown, and text inputs | Supported | Format-specific limits apply |
| Provider-free XLSForm SVIS | Supported | Use SourceRegistry.convert_for_svis() |
| Ordered sync and async batches | Supported | One shared limiter per batch |
| Completed-answer records | Conditional | Use a caller-defined closed Pydantic model |
| Respondent microdata table | Not included | No built-in respondent or submission schema |
| Submission-export parser | Not included | No vendor-specific response parser |
| Automatic skipped-answer classification | Not included | Answer state is caller-defined |
| Remote URL ingestion | Not included | Local paths and confined bundles only |
Source processing¶
| Capability | Status | Notes |
|---|---|---|
| Deterministic source blocks and tables | Supported | Physical provenance and coverage are validated |
| Resource and archive controls | Supported | Limits are configurable |
| Offline PDF OCR | Supported | Approved local artifacts and English-only EasyOCR |
| XLSX formula or macro execution | Not included | Unsafe workbook features are rejected |
| XLSForm external choice CSV | Supported | Companion must be declared in SourceBundle |
| Multilingual PDF OCR | Not included | Current OCR path is English only |
| Operating-system sandbox | Not included | Host isolation is still required |
Routing and skip patterns¶
| Capability | Status | Notes |
|---|---|---|
| Directed questionnaire multigraph | Supported | Accepted edges are separate from audit candidates |
| Activation conditions | Supported | Representation only |
| Native XLSForm relevance projection | Supported | Limited expression subset |
| Provider-assisted routing evidence | Configuration-only | No verified live model row |
| Append-only review history | Supported | Original evidence remains available |
| Repeat and roster templates | Supported | No respondent-instance expansion |
| Runtime interview traversal | Not included | No next-screen engine |
| Condition evaluation on answers | Not included | No application of routing to respondent data |
| Complete XPath or JSON Logic behavior | Not included | Unsupported logic remains opaque |
| Graphical routing editor | Not included | JSON schema and Python models only |
Results and serialization¶
| Capability | Status | Notes |
|---|---|---|
Typed success, partial, and failed results |
Supported | Status follows operational evidence |
| Versioned generation directories | Supported | Includes manifest, active pointer, and optional sidecar |
| Durable overwrite and recovery | Supported | Process lock, journal, and idempotent repair |
| Legacy SVIS projection | Supported | Stable ordered JSON contract |
| Routed manifest version 2 | Supported | Routed main plus exact legacy projection |
| Raw prompt or provider response persistence | Not included | Digests are stored instead |
| Stable routed main at output root | Not included | Routed main is generation-specific |
AI providers¶
| Adapter | Status | Transport |
|---|---|---|
| OpenAI | Configuration-only | OpenAI-compatible strict structured output |
| OpenRouter | Configuration-only | Reviewed OpenAI-compatible preset |
| Vercel AI Gateway | Configuration-only | Reviewed OpenAI-compatible preset |
| Custom OpenAI-compatible HTTPS | Configuration-only | Explicit base URL |
| Azure OpenAI and compatible Microsoft Foundry endpoint | Configuration-only | Azure Chat Completions route |
| Anthropic | Configuration-only | Dedicated Anthropic adapter |
Caller StructuredProvider |
Conditional | Application owns transport and capability evidence |
No named live model/version is marked verified. The package does not discover
deployments, model availability, quota, or live endpoint access.
Platform integrations¶
| Platform | Status | Boundary |
|---|---|---|
| Palantir Foundry | Conditional, not tested | A dataset-filesystem transform pattern is documented; no shipped Palantir adapter or approved package artifact exists |
| Microsoft Foundry | Conditional | Supported only through an Azure OpenAI-compatible Chat Completions endpoint |
| mAI Factory | Conditional, offline contract only | Uses generic Azure endpoint, token, and header extension points; private profile is host-owned |
| Hosted Survey Scribe service | Not included | Package is a local Python library and CLI |
Survey Scribe does not provision infrastructure, configure network policy, assign roles, deploy models, manage quota, or discover managed identity. The host must supply endpoints and credentials.
Provider operations¶
Supported provider behavior includes strict schema inspection, normalized usage, bounded retries, per-call or per-batch concurrency, safe error normalization, and lazy SDK imports.
The package does not include:
- Responses transport
- Provider Batch API
- Embeddings
- Translation
- Text-to-speech
- Search
- Health endpoints
- Streaming responses
- A request-timeout setting
Retry-Afterhandling or jitter- A circuit breaker
- A process-global rate limiter
- Cost or spend controls
- Exact backend identity for a dynamic gateway route
Public interfaces¶
Supported interfaces are:
SurveyScribesync, async, and ordered batch conversionStructuredPipelineandChunkedStructuredPipelineQuestionnaireRouterPython API- Typed SVIS, routed SVIS, source, provider, result, and serialization modules
survey-scribe convertsurvey-scribe batchsurvey-scribe providerssurvey-scribe config checksurvey-scribe schema export routing
The CLI does not include a routing command, completed-answer command, source-normalization command, or manifest-inspection command.
Compatibility and release state¶
Survey Scribe supports CPython 3.11 through 3.13 and Pydantic 2.11.7 or later
below major version 3. Survey Scribe 0.1.x is alpha software, with published
releases available on PyPI. Production users should install a pinned package or
approved wheel, Conda artifact, or source revision.
See Compatibility, Installation, and the API Overview.