feat: Add report package lifecycle and statement envelope rendering#643
feat: Add report package lifecycle and statement envelope rendering#643
Conversation
… for statement envelopes
|
@claude please review this PR |
|
Claude finished @jfrench9's task in 4m 54s —— View job PR Review — feat: Add report package lifecycle and statement envelope rendering
Overall this is a well-structured feature. The two-lifecycle model (generation vs. filing), the FactSet-pinned read path, and the server-side rendering projection are all solid architectural decisions. The lazy imports to break circular-dependency cycles are applied consistently. A few issues worth fixing before merge are called out below. CriticalFiled reports can be deleted
# robosystems/operations/roboledger/commands/reports.py:542-546
report_def = session.get(Report, report_id)
if report_def is None:
return False
if report_def.created_by != acting_user_id:
raise NotAuthorizedError("Not authorized to delete this report.")
# ← no check for filing_status here — filed reports can be deletedMedium
Importing private symbols from
Minor / Nit
Step numbering off-by-one in
When
Positive Observations
|
|
@claude can you review the latest changes |
|
Claude finished @jfrench9's task in 4m 18s —— View job PR Review — feat: Add report package lifecycle and statement envelope rendering
The latest commit ( None of the items from the prior review have been addressed. They're reproduced below, with a few new observations from this pass. CriticalFiled reports can be deleted (
Medium
Importing private symbols from
No server-side guard:
When Minor / Nit
Step
Positive observations
|
…olicies - Implemented `oltp_writer.py` to write demo data into a DuckDB file for OLTPLoader. - Created `policies.py` containing accounting policy documents for Cascade Advisory Group LLC. - Added `prompt.md` for AI month-end close workflow instructions. - Developed `validate.py` for Information Block validation, ensuring integrity of schedules and rules. - Updated `justfile` to include a new demo command for RoboLedger. - Refactored taxonomy command documentation to reflect changes in demo structure. - Modified test cases to use the new session context for RoboLedger operations.
Summary
Introduces report package handling, filing lifecycle operations, and enhanced statement envelope rendering projections for the financial viewer. This feature builds out the core infrastructure for managing report packages through their lifecycle — from ingestion to materialization — while improving how financial facts are retrieved and rendered within statement envelopes.
Key Accomplishments
Report Package Lifecycle
0006_report_package_lifecycle) to support report package state managementStatement Envelope & Rendering
API & GraphQL Layer
report_packageGraphQL type with full resolver supportinformation_blockGraphQL type and API model with new fields/projectionsSEC Adapter Enhancements
Infrastructure
boto3directly instead ofawsclifor staging/prod environments, improving reliability and reducing external CLI dependenciesBreaking Changes
0006_report_package_lifecycleintroduces new schema elements that must be applied before deploymentinformation_blockAPI models and types may affect existing consumers if they rely on the previous response shape — reviewmodels/api/information_block.pyandtypes.pyfor detailsTesting
test_reports_filing.py— 182 lines covering report filing lifecycle commands (create, state transitions, error cases)test_reports_package.py— 212 lines covering report package read operations (filtering, projections, edge cases)test_envelope_fact_set.py— Extended with new test cases for envelope fact set renderingtest_reads.py— Expanded to cover new read operation pathstest_statement_handlers.py— Updated for revised statement rendering logictest_materialize.py— Minor update to accommodate new materialization flowInfrastructure Considerations
awsclitoboto3for feature flag resolution requires that the runtime environment has appropriate IAM permissions andboto3available (standard in most deployment contexts)🤖 Generated with Claude Code
Branch Info:
feature/financial-viewer-envelopemainCo-Authored-By: Claude noreply@anthropic.com