Formula drift
Thresholds and denominator rules diverge between teams and versions.
Deterministic, source-attributed decision support with bounded authority and review-gated outputs.
An implementation-oriented architecture for portfolio concentration, bounded risk assessment, and historical company financial analysis.
ABSTRACT
Grandice provides three constrained financial-analysis agents for portfolio concentration, bounded risk assessment, and historical company-ratio analysis. Each agent dispatches a strict, typed request to predefined deterministic calculations.
Inputs include caller-provided source metadata and effective dates. Outputs include methodology version, source citations, assumptions, limitations, warnings, and an invariant requirement for professional review. The architecture deliberately excludes open-ended objectives, web browsing, live market-data retrieval, order execution, account modification, and model-generated tool arguments.
Grandice Privacy Shield can protect data locally in the client SDK or sidecar before transfer, and the gateway applies a second residual policy scan before financial schema validation. Detected categories are rejected before calculation, while domain audit records retain operational metadata without request or response bodies.
EXECUTIVE PERSPECTIVE
Financial teams frequently inherit calculations spread across spreadsheets, scripts, and analyst-specific conventions. Source dates become detached from outputs, formula changes are difficult to trace, and generative systems can add nondeterministic interpretation where repeatability matters.
Thresholds and denominator rules diverge between teams and versions.
Results circulate without the source identifier or effective date that supported them.
Broad agent permissions conflict with least-authority controls in regulated workflows.
Logging full requests can create a second repository of confidential financial data.
Grandice addresses the calculation and control-plane portion of this problem. It converts caller-supplied, dated facts into reproducible analytical outputs under declared schemas and methodology versions. The consuming institution remains responsible for source quality, validation, supervision, suitability, communications, and any resulting action.
SCOPE AND RESPONSIBILITY BOUNDARY
“Financial Advisor Agent” is used as an umbrella product term for a constrained analysis suite and developer control plane. Financial judgment, suitability, compliance approval, and any resulting action remain with qualified professionals and the adopting institution’s governed processes.
DESIGN PRINCIPLES
Identical valid inputs and methodology versions produce identical calculation outputs.
Each registered agent accepts one declared schema and invokes only predefined calculations.
Fact-bearing records reference caller-provided source identifiers and explicit as-of dates.
Identity fields, unrestricted objectives, and free-form personal profiles are excluded from financial schemas.
Receipts retain execution facts while excluding financial request and response bodies.
Every analysis response carries professional_review_required: true.
SYSTEM ARCHITECTURE
The gateway authenticates and bounds the request before financial validation. Raw JSON is inspected for configured sensitive-data patterns, then validated against a strict domain schema. Only validated inputs reach the deterministic calculation layer.
MANAGED-AGENT RUNTIME
In this release, “agent” means a registered typed workflow—not an open-ended planner. Tool names in the registry describe fixed calculation capabilities. They do not represent model-selectable external actions.
financial.portfolio-analyst.v1
Calculates weights, allocation by asset class, sector and country, top concentration, HHI, effective positions, and transparent diversification flags.
Excludes correlation, volatility, liquidity, tax, fees, transaction costs, look-through exposure, and allocation recommendations.
financial.risk-assessment.v1
Applies disclosed fixed weights to five caller-scored dimensions bounded from one through five, then maps the score to a transparent band.
Not a psychometric instrument, suitability determination, or product-selection mechanism.
financial.company-analyst.v1
Calculates historical growth, margins, net debt, leverage, and supported valuation multiples from two or more cited financial periods.
Excludes forecasts, peer normalization, DCF, accounting adjustments, and valuation opinions.
METHODOLOGY
For each position i, market value Vi is divided by the total portfolio market value. Category allocations aggregate values before division.
Effective positions express concentration equivalence, not economic diversification. Ten holdings do not imply ten effective positions when value is concentrated in a smaller subset.
Current screening thresholds use unrounded values. Rounded output is presentation only. Triggered rules are indicators—not instructions to rebalance.
Each caller-scored rating rj is an integer from one to five. Ratings are normalized to a zero-to-one-hundred scale and combined with fixed disclosed weights.
Weights and bands are transparent policy choices. Transparency alone does not establish empirical validity or suitability for a population.
(Current − Prior) / |Prior|Omitted when the prior value is zeroProfit measure / RevenueGross, operating, net, and EBITDA where suppliedTotal debt − CashNet-debt-to-EBITDA only when EBITDA is positiveDiluted shares × Share priceRequires both latest-period inputsMarket cap + Total debt − CashPoint-in-time arithmeticP/S · P/E · EV/EBITDAReported only when denominators support themPROVENANCE STRUCTURE
Each analysis carries an analysis date and one or more source records. Fact-bearing positions, risk profiles, and financial periods reference a declared opaque source identifier.
PRIVACY AND DATA MINIMIZATION
The strongest workflow protects sensitive values locally in the client SDK or loopback sidecar. The domain gateway still performs a residual pattern scan over raw JSON before schema validation. Detected categories cause rejection rather than mutation of typed financial inputs.
AUDIT RECEIPTS
Each completed or rejected domain workflow writes a metadata-oriented audit record. Retrieval is scoped to the API key that created the run. The domain record does not contain holdings, questionnaire ratings, citations, monetary values, or analysis output.
dom_••••••••••••“Body-free domain audit” describes the Grandice domain_runs record. It does not characterize every surrounding reverse proxy, application, infrastructure, security, or client log.
DECISION GOVERNANCE
INTEGRATION PATTERNS
A portfolio system submits dated, locally tokenized holdings using opaque instrument IDs. Grandice returns allocation and concentration indicators. The adviser determines whether further analysis or communication is appropriate.
A firm-approved questionnaire maps responses to five bounded ratings. Grandice calculates the disclosed score and band. A separate supervisory workflow decides how, or whether, the result may be used.
An analyst or controlled ETL process supplies at least two cited periods. Grandice computes supported ratios. Analysts reconcile values and add qualitative, forecast, peer, and market context outside the service.
Applications can call a known financial endpoint or discover and invoke a managed agent through a common envelope. Both paths preserve request ID, methodology, sources, warnings, and review requirements.
POST /v1/financial/portfolio/analyzePOST /v1/financial/risk-assessmentPOST /v1/financial/company/analyzeGET /v1/agentsPOST /v1/agents/runsGET /v1/domain/runs/{request_id}RUNTIME CONTROLS
Monetary values arrive as JSON strings or integers. Binary JSON floats, non-finite numbers, excessive magnitude, and excessive scale are rejected.
Extra fields, duplicate source IDs, unresolved references, inconsistent dates, duplicate instruments, and duplicate periods are rejected.
Validation responses describe field locations and rules without echoing rejected input values or validator context.
API-key controls and configured member or organization limits run before JSON parsing. Audit retrieval requires the originating API key.
EVALUATION ROADMAP
The following staged program is proposed. It is not a claim that these activities are complete.
EVALUATION ROADMAP · CONTINUED
CURRENT LIMITATIONS
CURRENT LIMITATIONS · CONTINUED
CONCLUSION
Grandice demonstrates a deliberately constrained approach to financial agents: typed workflow dispatch, deterministic arithmetic, caller-supplied provenance, best-effort privacy residual checks, metadata-only domain receipts, and an explicit professional-review boundary.
Its value proposition is controlled analytical consistency and integration—not autonomous judgment. Institutional deployment still requires use-case-specific validation, governance, security review, legal and compliance assessment, methodology approval, and qualified human supervision.
APPENDIX
{
"request_id": "dom_...",
"privacy": {
"mode": "client",
"residual_check": {
"status": "passed",
"coverage": "configured_policy_detectors",
"guarantee": "best_effort"
},
"content_retained": false
},
"data": {
"methodology_version": "grandice-domain-1.0.0",
"assumptions": ["..."],
"limitations": ["..."],
"warnings": ["..."],
"professional_review_required": true
}
}
grandice_domain/common.pyShared contracts, decimal bounds, disclosures, methodology versiongrandice_domain/portfolio.pyPortfolio arithmetic and concentration rulesgrandice_domain/risk.pyWeighted score and band methodologygrandice_domain/company.pyHistorical ratios, leverage, and supported multiplesgrandice_domain/agents.pyVersioned agent registry and authority declarationsgateway/domain_runtime.pyRequest bounds, privacy check, audit write, response envelopeThis document describes the September 2026 initial implementation. It is technical product documentation, not legal, regulatory, investment, accounting, tax, or compliance advice. Capabilities, controls, and methodology may change under future versioning. Adopting institutions must perform their own review and validation.