diff --git a/packages/compliance/src/datasets/compliance_assessment.dataset.ts b/packages/compliance/src/datasets/compliance_assessment.dataset.ts index d467b6b..676b0c3 100644 --- a/packages/compliance/src/datasets/compliance_assessment.dataset.ts +++ b/packages/compliance/src/datasets/compliance_assessment.dataset.ts @@ -16,5 +16,5 @@ export const ComplianceAssessmentDataset = defineDataset({ dateGranularity: 'month', }, ], - measures: [{ name: 'assessment_count', label: 'assessment_count', aggregate: 'count' }], + measures: [{ name: 'assessment_count', label: 'Assessments', aggregate: 'count' }], }); diff --git a/packages/compliance/src/datasets/compliance_control.dataset.ts b/packages/compliance/src/datasets/compliance_control.dataset.ts index 178189a..d82fd00 100644 --- a/packages/compliance/src/datasets/compliance_control.dataset.ts +++ b/packages/compliance/src/datasets/compliance_control.dataset.ts @@ -8,5 +8,5 @@ export const ComplianceControlDataset = defineDataset({ label: 'compliance_control metrics', object: 'compliance_control', dimensions: [], - measures: [{ name: 'control_count', label: 'control_count', aggregate: 'count' }], + measures: [{ name: 'control_count', label: 'Controls', aggregate: 'count' }], }); diff --git a/packages/compliance/src/datasets/compliance_evidence.dataset.ts b/packages/compliance/src/datasets/compliance_evidence.dataset.ts index ba9ca81..adc1acd 100644 --- a/packages/compliance/src/datasets/compliance_evidence.dataset.ts +++ b/packages/compliance/src/datasets/compliance_evidence.dataset.ts @@ -8,5 +8,5 @@ export const ComplianceEvidenceDataset = defineDataset({ label: 'compliance_evidence metrics', object: 'compliance_evidence', dimensions: [], - measures: [{ name: 'evidence_count', label: 'evidence_count', aggregate: 'count' }], + measures: [{ name: 'evidence_count', label: 'Evidence', aggregate: 'count' }], }); diff --git a/packages/compliance/src/objects/compliance_assessment.object.ts b/packages/compliance/src/objects/compliance_assessment.object.ts index ebc6600..852a507 100644 --- a/packages/compliance/src/objects/compliance_assessment.object.ts +++ b/packages/compliance/src/objects/compliance_assessment.object.ts @@ -71,12 +71,8 @@ export const Assessment = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, @@ -113,10 +109,17 @@ export const Assessment = ObjectSchema.create({ condition: P`(record.status == "failed" || record.status == "partial") && (record.remediation_plan == null || record.remediation_plan == "")`, }, { + // `assessor` is an OPTIONAL sys_user lookup. Seed/import/automation paths + // legitimately create completed assessments without a resolvable user + // reference (lookup seeds resolve by natural-key string; there is no + // seed-time user to point at), so this is a soft data-quality signal — + // surfaced in the UI — rather than a hard insert blocker. (9.9.x now + // evaluates `== null` rules on insert, which is why error-severity here + // rejected the seeded assessments outright.) name: 'completed_requires_assessor', type: 'script', - severity: 'error', - message: 'Completed assessments must record the assessor.', + severity: 'warning', + message: 'Completed assessments should record the assessor.', condition: P`(record.status == "passed" || record.status == "failed" || record.status == "partial") && record.assessor == null`, }, ], diff --git a/packages/compliance/src/objects/compliance_control.object.ts b/packages/compliance/src/objects/compliance_control.object.ts index a872dfb..009ccff 100644 --- a/packages/compliance/src/objects/compliance_control.object.ts +++ b/packages/compliance/src/objects/compliance_control.object.ts @@ -101,12 +101,8 @@ export const Control = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/compliance/src/objects/compliance_evidence.object.ts b/packages/compliance/src/objects/compliance_evidence.object.ts index 588ec71..4e626b2 100644 --- a/packages/compliance/src/objects/compliance_evidence.object.ts +++ b/packages/compliance/src/objects/compliance_evidence.object.ts @@ -93,12 +93,8 @@ export const Evidence = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/compliance/src/objects/compliance_framework.object.ts b/packages/compliance/src/objects/compliance_framework.object.ts index c4b0686..e2f65cf 100644 --- a/packages/compliance/src/objects/compliance_framework.object.ts +++ b/packages/compliance/src/objects/compliance_framework.object.ts @@ -63,11 +63,8 @@ export const Framework = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/content/src/datasets/content_metric.dataset.ts b/packages/content/src/datasets/content_metric.dataset.ts index 42f3033..aab158d 100644 --- a/packages/content/src/datasets/content_metric.dataset.ts +++ b/packages/content/src/datasets/content_metric.dataset.ts @@ -16,5 +16,5 @@ export const ContentMetricDataset = defineDataset({ dateGranularity: 'week', }, ], - measures: [{ name: 'sum_signups', label: 'sum_signups', aggregate: 'sum', field: 'signups' }], + measures: [{ name: 'sum_signups', label: 'Signups', aggregate: 'sum', field: 'signups' }], }); diff --git a/packages/content/src/datasets/content_piece.dataset.ts b/packages/content/src/datasets/content_piece.dataset.ts index 7f0dab9..a9aa7eb 100644 --- a/packages/content/src/datasets/content_piece.dataset.ts +++ b/packages/content/src/datasets/content_piece.dataset.ts @@ -16,5 +16,5 @@ export const ContentPieceDataset = defineDataset({ dateGranularity: 'month', }, ], - measures: [{ name: 'piece_count', label: 'piece_count', aggregate: 'count' }], + measures: [{ name: 'piece_count', label: 'Pieces', aggregate: 'count' }], }); diff --git a/packages/content/src/datasets/content_publication.dataset.ts b/packages/content/src/datasets/content_publication.dataset.ts index 1884c1e..c9a2f82 100644 --- a/packages/content/src/datasets/content_publication.dataset.ts +++ b/packages/content/src/datasets/content_publication.dataset.ts @@ -9,8 +9,8 @@ export const ContentPublicationDataset = defineDataset({ object: 'content_publication', dimensions: [{ name: 'channel', label: 'channel', field: 'channel', type: 'string' }], measures: [ - { name: 'publication_count', label: 'publication_count', aggregate: 'count' }, - { name: 'sum_total_views', label: 'sum_total_views', aggregate: 'sum', field: 'total_views' }, + { name: 'publication_count', label: 'Publications', aggregate: 'count' }, + { name: 'sum_total_views', label: 'Total Views', aggregate: 'sum', field: 'total_views' }, { name: 'sum_total_clicks', label: 'sum_total_clicks', diff --git a/packages/content/src/datasets/content_signal.dataset.ts b/packages/content/src/datasets/content_signal.dataset.ts index 78eae1f..1f892c4 100644 --- a/packages/content/src/datasets/content_signal.dataset.ts +++ b/packages/content/src/datasets/content_signal.dataset.ts @@ -8,5 +8,5 @@ export const ContentSignalDataset = defineDataset({ label: 'content_signal metrics', object: 'content_signal', dimensions: [], - measures: [{ name: 'signal_count', label: 'signal_count', aggregate: 'count' }], + measures: [{ name: 'signal_count', label: 'Signals', aggregate: 'count' }], }); diff --git a/packages/content/src/objects/content_channel.object.ts b/packages/content/src/objects/content_channel.object.ts index 2a4e51d..8ae7895 100644 --- a/packages/content/src/objects/content_channel.object.ts +++ b/packages/content/src/objects/content_channel.object.ts @@ -66,7 +66,6 @@ export const Channel = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, trash: true, diff --git a/packages/content/src/objects/content_competitor.object.ts b/packages/content/src/objects/content_competitor.object.ts index 5e72ac8..9f90e02 100644 --- a/packages/content/src/objects/content_competitor.object.ts +++ b/packages/content/src/objects/content_competitor.object.ts @@ -52,11 +52,8 @@ export const Competitor = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/content/src/objects/content_piece.object.ts b/packages/content/src/objects/content_piece.object.ts index ac2d1eb..58e4449 100644 --- a/packages/content/src/objects/content_piece.object.ts +++ b/packages/content/src/objects/content_piece.object.ts @@ -14,7 +14,7 @@ import { P, F, tmpl } from '@objectstack/spec'; * Polymorphic platform features: * - sys_comment (thread_id = "content_piece:{id}") * - sys_attachment (parent_object = "content_piece", parent_id = "{id}") - * - sys_activity / sys_audit_log via enable.feeds/trackHistory + * - sys_audit_log (per-field via Field.trackHistory, plugin-audit / ADR-0052) */ export const Piece = ObjectSchema.create({ name: 'content_piece', @@ -206,12 +206,8 @@ export const Piece = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, @@ -253,10 +249,17 @@ export const Piece = ObjectSchema.create({ condition: P`record.status == "scheduled" && record.publish_at == null`, }, { + // `assignee` is an OPTIONAL sys_user lookup. Seed/import/automation paths + // legitimately create in-review pieces without a resolvable user + // reference (lookup seeds resolve by natural-key string; there is no + // seed-time user to point at), so this is a soft data-quality signal — + // surfaced in the UI — rather than a hard insert blocker. (9.9.x now + // evaluates `== null` rules on insert, which is why error-severity here + // rejected the seeded in-review pieces and cascaded to their CTAs.) name: 'in_review_requires_assignee', type: 'script', - severity: 'error', - message: 'In-review pieces must have a writer assigned.', + severity: 'warning', + message: 'In-review pieces should have a writer assigned.', condition: P`record.status == "in_review" && record.assignee == null`, }, ], diff --git a/packages/content/src/objects/content_publication.object.ts b/packages/content/src/objects/content_publication.object.ts index e2b9e5b..2002ba5 100644 --- a/packages/content/src/objects/content_publication.object.ts +++ b/packages/content/src/objects/content_publication.object.ts @@ -93,10 +93,7 @@ export const Publication = ObjectSchema.create({ }, enable: { - trackHistory: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/content/src/objects/content_signal.object.ts b/packages/content/src/objects/content_signal.object.ts index 0863b77..726a65a 100644 --- a/packages/content/src/objects/content_signal.object.ts +++ b/packages/content/src/objects/content_signal.object.ts @@ -122,11 +122,8 @@ export const Signal = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/content/src/objects/content_topic.object.ts b/packages/content/src/objects/content_topic.object.ts index cadc976..f6e4aba 100644 --- a/packages/content/src/objects/content_topic.object.ts +++ b/packages/content/src/objects/content_topic.object.ts @@ -113,12 +113,8 @@ export const Topic = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/contracts/src/datasets/contracts_contract.dataset.ts b/packages/contracts/src/datasets/contracts_contract.dataset.ts index a1d2315..c54ced2 100644 --- a/packages/contracts/src/datasets/contracts_contract.dataset.ts +++ b/packages/contracts/src/datasets/contracts_contract.dataset.ts @@ -19,7 +19,7 @@ export const ContractsContractDataset = defineDataset({ { name: 'contract_type', label: 'contract_type', field: 'contract_type', type: 'string' }, ], measures: [ - { name: 'contract_count', label: 'contract_count', aggregate: 'count' }, - { name: 'sum_total_value', label: 'sum_total_value', aggregate: 'sum', field: 'total_value' }, + { name: 'contract_count', label: 'Contracts', aggregate: 'count' }, + { name: 'sum_total_value', label: 'Total Value', aggregate: 'sum', field: 'total_value' }, ], }); diff --git a/packages/contracts/src/datasets/contracts_obligation.dataset.ts b/packages/contracts/src/datasets/contracts_obligation.dataset.ts index c873bc1..220e544 100644 --- a/packages/contracts/src/datasets/contracts_obligation.dataset.ts +++ b/packages/contracts/src/datasets/contracts_obligation.dataset.ts @@ -8,5 +8,5 @@ export const ContractsObligationDataset = defineDataset({ label: 'contracts_obligation metrics', object: 'contracts_obligation', dimensions: [], - measures: [{ name: 'obligation_count', label: 'obligation_count', aggregate: 'count' }], + measures: [{ name: 'obligation_count', label: 'Obligations', aggregate: 'count' }], }); diff --git a/packages/contracts/src/objects/contracts_contract.object.ts b/packages/contracts/src/objects/contracts_contract.object.ts index 25473ee..8b1ce4d 100644 --- a/packages/contracts/src/objects/contracts_contract.object.ts +++ b/packages/contracts/src/objects/contracts_contract.object.ts @@ -14,7 +14,7 @@ import { P, F, tmpl } from '@objectstack/spec'; * Polymorphic platform features (free): * - sys_comment (thread_id = "contracts_contract:{id}") * - sys_attachment (parent_object = "contracts_contract", parent_id = "{id}") - * - sys_activity / sys_audit_log (auto via enable.feeds/trackHistory) + * - sys_audit_log (per-field via Field.trackHistory, plugin-audit / ADR-0052) */ export const Contract = ObjectSchema.create({ name: 'contracts_contract', @@ -22,7 +22,7 @@ export const Contract = ObjectSchema.create({ pluralLabel: 'Contracts', icon: 'file-text', description: - 'A signed (or being-negotiated) agreement with one counterparty. PDF upload is provisioned via `enable.files: true` (sys_attachment polymorphic storage); the extract_terms action consumes that PDF to auto-fill metadata.', + 'A signed (or being-negotiated) agreement with one counterparty. PDF upload uses the polymorphic sys_attachment storage; the extract_terms action consumes that PDF to auto-fill metadata.', fieldGroups: [ { key: 'core', label: 'Contract', icon: 'file-text' }, @@ -247,12 +247,8 @@ export const Contract = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/contracts/src/objects/contracts_obligation.object.ts b/packages/contracts/src/objects/contracts_obligation.object.ts index 4af0c0b..bec1ab5 100644 --- a/packages/contracts/src/objects/contracts_obligation.object.ts +++ b/packages/contracts/src/objects/contracts_obligation.object.ts @@ -105,11 +105,8 @@ export const Obligation = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/contracts/src/objects/contracts_party.object.ts b/packages/contracts/src/objects/contracts_party.object.ts index c45754f..2347db7 100644 --- a/packages/contracts/src/objects/contracts_party.object.ts +++ b/packages/contracts/src/objects/contracts_party.object.ts @@ -10,7 +10,7 @@ import { tmpl } from '@objectstack/spec'; * * Polymorphic platform features (free): * - sys_attachment (parent_object = "contracts_party", parent_id = "{id}") - * - sys_activity / sys_audit_log via enable.activities/trackHistory + * - sys_audit_log (per-field via Field.trackHistory, plugin-audit / ADR-0052) */ export const Party = ObjectSchema.create({ name: 'contracts_party', @@ -81,12 +81,8 @@ export const Party = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/expense/src/datasets/expense_line.dataset.ts b/packages/expense/src/datasets/expense_line.dataset.ts index 050a3d1..8710cdc 100644 --- a/packages/expense/src/datasets/expense_line.dataset.ts +++ b/packages/expense/src/datasets/expense_line.dataset.ts @@ -8,5 +8,5 @@ export const ExpenseLineDataset = defineDataset({ label: 'expense_line metrics', object: 'expense_line', dimensions: [{ name: 'category', label: 'category', field: 'category', type: 'string' }], - measures: [{ name: 'sum_amount', label: 'sum_amount', aggregate: 'sum', field: 'amount' }], + measures: [{ name: 'sum_amount', label: 'Amount', aggregate: 'sum', field: 'amount' }], }); diff --git a/packages/expense/src/datasets/expense_report.dataset.ts b/packages/expense/src/datasets/expense_report.dataset.ts index 83ccbda..83a40c5 100644 --- a/packages/expense/src/datasets/expense_report.dataset.ts +++ b/packages/expense/src/datasets/expense_report.dataset.ts @@ -17,7 +17,7 @@ export const ExpenseReportDataset = defineDataset({ }, ], measures: [ - { name: 'report_count', label: 'report_count', aggregate: 'count' }, + { name: 'report_count', label: 'Reports', aggregate: 'count' }, { name: 'sum_total_amount', label: 'sum_total_amount', diff --git a/packages/expense/src/objects/expense_category.object.ts b/packages/expense/src/objects/expense_category.object.ts index 03695ad..8d83922 100644 --- a/packages/expense/src/objects/expense_category.object.ts +++ b/packages/expense/src/objects/expense_category.object.ts @@ -50,10 +50,8 @@ export const ExpenseCategory = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, trash: true, mru: true, }, diff --git a/packages/expense/src/objects/expense_line.object.ts b/packages/expense/src/objects/expense_line.object.ts index 3bacb3f..9b76488 100644 --- a/packages/expense/src/objects/expense_line.object.ts +++ b/packages/expense/src/objects/expense_line.object.ts @@ -93,11 +93,8 @@ export const ExpenseLine = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, trash: true, }, diff --git a/packages/expense/src/objects/expense_report.object.ts b/packages/expense/src/objects/expense_report.object.ts index 7578a8a..fef64be 100644 --- a/packages/expense/src/objects/expense_report.object.ts +++ b/packages/expense/src/objects/expense_report.object.ts @@ -123,12 +123,8 @@ export const ExpenseReport = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/helpdesk/src/objects/helpdesk_customer.object.ts b/packages/helpdesk/src/objects/helpdesk_customer.object.ts index 664dfae..b0a53e2 100644 --- a/packages/helpdesk/src/objects/helpdesk_customer.object.ts +++ b/packages/helpdesk/src/objects/helpdesk_customer.object.ts @@ -59,11 +59,8 @@ export const Customer = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/helpdesk/src/objects/helpdesk_kb_article.object.ts b/packages/helpdesk/src/objects/helpdesk_kb_article.object.ts index 9277c66..3c128f7 100644 --- a/packages/helpdesk/src/objects/helpdesk_kb_article.object.ts +++ b/packages/helpdesk/src/objects/helpdesk_kb_article.object.ts @@ -68,10 +68,8 @@ export const KBArticle = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, trash: true, mru: true, }, diff --git a/packages/helpdesk/src/objects/helpdesk_message.object.ts b/packages/helpdesk/src/objects/helpdesk_message.object.ts index 377bde6..61e5040 100644 --- a/packages/helpdesk/src/objects/helpdesk_message.object.ts +++ b/packages/helpdesk/src/objects/helpdesk_message.object.ts @@ -53,10 +53,7 @@ export const Message = ObjectSchema.create({ }, enable: { - trackHistory: true, apiEnabled: true, - files: true, - feeds: true, trash: true, }, diff --git a/packages/helpdesk/src/objects/helpdesk_ticket.object.ts b/packages/helpdesk/src/objects/helpdesk_ticket.object.ts index 023c2d5..4a0b040 100644 --- a/packages/helpdesk/src/objects/helpdesk_ticket.object.ts +++ b/packages/helpdesk/src/objects/helpdesk_ticket.object.ts @@ -228,12 +228,8 @@ export const Ticket = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/hr/src/datasets/hr_document.dataset.ts b/packages/hr/src/datasets/hr_document.dataset.ts index 0fcb16e..57fbe26 100644 --- a/packages/hr/src/datasets/hr_document.dataset.ts +++ b/packages/hr/src/datasets/hr_document.dataset.ts @@ -8,5 +8,5 @@ export const HrDocumentDataset = defineDataset({ label: 'hr_document metrics', object: 'hr_document', dimensions: [], - measures: [{ name: 'document_count', label: 'document_count', aggregate: 'count' }], + measures: [{ name: 'document_count', label: 'Documents', aggregate: 'count' }], }); diff --git a/packages/hr/src/datasets/hr_employee.dataset.ts b/packages/hr/src/datasets/hr_employee.dataset.ts index 37f7ba5..48f9491 100644 --- a/packages/hr/src/datasets/hr_employee.dataset.ts +++ b/packages/hr/src/datasets/hr_employee.dataset.ts @@ -17,5 +17,5 @@ export const HrEmployeeDataset = defineDataset({ dateGranularity: 'month', }, ], - measures: [{ name: 'employee_count', label: 'employee_count', aggregate: 'count' }], + measures: [{ name: 'employee_count', label: 'Employees', aggregate: 'count' }], }); diff --git a/packages/hr/src/datasets/hr_time_off_request.dataset.ts b/packages/hr/src/datasets/hr_time_off_request.dataset.ts index d003d17..f490899 100644 --- a/packages/hr/src/datasets/hr_time_off_request.dataset.ts +++ b/packages/hr/src/datasets/hr_time_off_request.dataset.ts @@ -8,5 +8,5 @@ export const HrTimeOffRequestDataset = defineDataset({ label: 'hr_time_off_request metrics', object: 'hr_time_off_request', dimensions: [], - measures: [{ name: 'request_count', label: 'request_count', aggregate: 'count' }], + measures: [{ name: 'request_count', label: 'Requests', aggregate: 'count' }], }); diff --git a/packages/hr/src/objects/hr_department.object.ts b/packages/hr/src/objects/hr_department.object.ts index ef43a33..014e7af 100644 --- a/packages/hr/src/objects/hr_department.object.ts +++ b/packages/hr/src/objects/hr_department.object.ts @@ -40,11 +40,8 @@ export const Department = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/hr/src/objects/hr_document.object.ts b/packages/hr/src/objects/hr_document.object.ts index 55c57ae..f7395b1 100644 --- a/packages/hr/src/objects/hr_document.object.ts +++ b/packages/hr/src/objects/hr_document.object.ts @@ -9,7 +9,7 @@ import { F, tmpl } from '@objectstack/spec'; * notifies HR 30 days before expiry. * * File binary data is stored via the platform's polymorphic `sys_attachment` - * surface (enable.files = true). The fields here are metadata only. + * surface (sys_attachment). The fields here are metadata only. */ export const EmployeeDocument = ObjectSchema.create({ name: 'hr_document', @@ -62,12 +62,8 @@ export const EmployeeDocument = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/hr/src/objects/hr_employee.object.ts b/packages/hr/src/objects/hr_employee.object.ts index 880b25d..f3ef416 100644 --- a/packages/hr/src/objects/hr_employee.object.ts +++ b/packages/hr/src/objects/hr_employee.object.ts @@ -135,12 +135,8 @@ export const Employee = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/hr/src/objects/hr_time_off_request.object.ts b/packages/hr/src/objects/hr_time_off_request.object.ts index e07ae11..0118af9 100644 --- a/packages/hr/src/objects/hr_time_off_request.object.ts +++ b/packages/hr/src/objects/hr_time_off_request.object.ts @@ -88,11 +88,8 @@ export const TimeOffRequest = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/procurement/src/datasets/procurement_order.dataset.ts b/packages/procurement/src/datasets/procurement_order.dataset.ts index b8ffdae..d48ca30 100644 --- a/packages/procurement/src/datasets/procurement_order.dataset.ts +++ b/packages/procurement/src/datasets/procurement_order.dataset.ts @@ -19,7 +19,7 @@ export const ProcurementOrderDataset = defineDataset({ { name: 'status', label: 'status', field: 'status', type: 'string' }, ], measures: [ - { name: 'order_count', label: 'order_count', aggregate: 'count' }, + { name: 'order_count', label: 'Orders', aggregate: 'count' }, { name: 'sum_total_amount', label: 'sum_total_amount', diff --git a/packages/procurement/src/datasets/procurement_request.dataset.ts b/packages/procurement/src/datasets/procurement_request.dataset.ts index 13fed02..e95a50e 100644 --- a/packages/procurement/src/datasets/procurement_request.dataset.ts +++ b/packages/procurement/src/datasets/procurement_request.dataset.ts @@ -8,5 +8,5 @@ export const ProcurementRequestDataset = defineDataset({ label: 'procurement_request metrics', object: 'procurement_request', dimensions: [], - measures: [{ name: 'request_count', label: 'request_count', aggregate: 'count' }], + measures: [{ name: 'request_count', label: 'Requests', aggregate: 'count' }], }); diff --git a/packages/procurement/src/objects/procurement_order.object.ts b/packages/procurement/src/objects/procurement_order.object.ts index c60c2eb..42c30f2 100644 --- a/packages/procurement/src/objects/procurement_order.object.ts +++ b/packages/procurement/src/objects/procurement_order.object.ts @@ -134,12 +134,8 @@ export const PurchaseOrder = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/procurement/src/objects/procurement_receipt.object.ts b/packages/procurement/src/objects/procurement_receipt.object.ts index 48e7e44..7fbf58f 100644 --- a/packages/procurement/src/objects/procurement_receipt.object.ts +++ b/packages/procurement/src/objects/procurement_receipt.object.ts @@ -53,11 +53,7 @@ export const GoodsReceipt = ObjectSchema.create({ }, enable: { - trackHistory: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, }, diff --git a/packages/procurement/src/objects/procurement_request.object.ts b/packages/procurement/src/objects/procurement_request.object.ts index 194a2f1..ffff497 100644 --- a/packages/procurement/src/objects/procurement_request.object.ts +++ b/packages/procurement/src/objects/procurement_request.object.ts @@ -106,12 +106,8 @@ export const PurchaseRequest = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/procurement/src/objects/procurement_vendor.object.ts b/packages/procurement/src/objects/procurement_vendor.object.ts index 9375f05..3a24848 100644 --- a/packages/procurement/src/objects/procurement_vendor.object.ts +++ b/packages/procurement/src/objects/procurement_vendor.object.ts @@ -81,11 +81,8 @@ export const Vendor = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/project/src/datasets/pm_project.dataset.ts b/packages/project/src/datasets/pm_project.dataset.ts index e6a1526..3fbdf98 100644 --- a/packages/project/src/datasets/pm_project.dataset.ts +++ b/packages/project/src/datasets/pm_project.dataset.ts @@ -14,14 +14,14 @@ export const ProjectDataset = defineDataset({ { name: 'project_type', label: 'project_type', field: 'project_type', type: 'string' }, ], measures: [ - { name: 'project_count', label: 'project_count', aggregate: 'count' }, - { name: 'avg_risk_score', label: 'avg_risk_score', aggregate: 'avg', field: 'ai_risk_score' }, + { name: 'project_count', label: 'Projects', aggregate: 'count' }, + { name: 'avg_risk_score', label: 'Avg Risk Score', aggregate: 'avg', field: 'ai_risk_score' }, { name: 'sum_planned_budget', label: 'sum_planned_budget', aggregate: 'sum', field: 'planned_budget', }, - { name: 'sum_actual_cost', label: 'sum_actual_cost', aggregate: 'sum', field: 'actual_cost' }, + { name: 'sum_actual_cost', label: 'Actual Cost', aggregate: 'sum', field: 'actual_cost' }, ], }); diff --git a/packages/project/src/datasets/pm_risk.dataset.ts b/packages/project/src/datasets/pm_risk.dataset.ts index ecef720..3477cf2 100644 --- a/packages/project/src/datasets/pm_risk.dataset.ts +++ b/packages/project/src/datasets/pm_risk.dataset.ts @@ -11,5 +11,5 @@ export const RiskDataset = defineDataset({ { name: 'category', label: 'category', field: 'category', type: 'string' }, { name: 'status', label: 'status', field: 'status', type: 'string' }, ], - measures: [{ name: 'risk_count', label: 'risk_count', aggregate: 'count' }], + measures: [{ name: 'risk_count', label: 'Risks', aggregate: 'count' }], }); diff --git a/packages/project/src/objects/pm_issue.object.ts b/packages/project/src/objects/pm_issue.object.ts index 64afecc..c50c879 100644 --- a/packages/project/src/objects/pm_issue.object.ts +++ b/packages/project/src/objects/pm_issue.object.ts @@ -112,11 +112,8 @@ export const Issue = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, trash: true, }, diff --git a/packages/project/src/objects/pm_milestone.object.ts b/packages/project/src/objects/pm_milestone.object.ts index 815139e..14225cd 100644 --- a/packages/project/src/objects/pm_milestone.object.ts +++ b/packages/project/src/objects/pm_milestone.object.ts @@ -81,11 +81,8 @@ export const Milestone = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, trash: true, }, diff --git a/packages/project/src/objects/pm_project.object.ts b/packages/project/src/objects/pm_project.object.ts index 79b61ed..74ddcac 100644 --- a/packages/project/src/objects/pm_project.object.ts +++ b/packages/project/src/objects/pm_project.object.ts @@ -209,12 +209,8 @@ export const Project = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, }, diff --git a/packages/project/src/objects/pm_resource.object.ts b/packages/project/src/objects/pm_resource.object.ts index f21e3ca..f1a7add 100644 --- a/packages/project/src/objects/pm_resource.object.ts +++ b/packages/project/src/objects/pm_resource.object.ts @@ -55,7 +55,6 @@ export const Resource = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, trash: true, diff --git a/packages/project/src/objects/pm_risk.object.ts b/packages/project/src/objects/pm_risk.object.ts index 53e882b..d24bc68 100644 --- a/packages/project/src/objects/pm_risk.object.ts +++ b/packages/project/src/objects/pm_risk.object.ts @@ -175,11 +175,8 @@ export const Risk = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, trash: true, }, diff --git a/packages/project/src/objects/pm_timesheet.object.ts b/packages/project/src/objects/pm_timesheet.object.ts index 0366539..ca86bba 100644 --- a/packages/project/src/objects/pm_timesheet.object.ts +++ b/packages/project/src/objects/pm_timesheet.object.ts @@ -57,7 +57,6 @@ export const Timesheet = ObjectSchema.create({ }, enable: { - trackHistory: false, // high volume, skip history searchable: false, apiEnabled: true, trash: true, diff --git a/packages/todo/src/datasets/todo_task.dataset.ts b/packages/todo/src/datasets/todo_task.dataset.ts index fcdcd29..54e8fe1 100644 --- a/packages/todo/src/datasets/todo_task.dataset.ts +++ b/packages/todo/src/datasets/todo_task.dataset.ts @@ -16,5 +16,5 @@ export const TodoTaskDataset = defineDataset({ dateGranularity: 'week', }, ], - measures: [{ name: 'task_count', label: 'task_count', aggregate: 'count' }], + measures: [{ name: 'task_count', label: 'Tasks', aggregate: 'count' }], }); diff --git a/packages/todo/src/objects/todo_task.object.ts b/packages/todo/src/objects/todo_task.object.ts index 6704e33..5eb895f 100644 --- a/packages/todo/src/objects/todo_task.object.ts +++ b/packages/todo/src/objects/todo_task.object.ts @@ -9,7 +9,7 @@ import { P, F, tmpl } from '@objectstack/spec'; * Polymorphic platform features come for free: * - sys_comment (thread_id = "todo_task:{id}") * - sys_attachment (parent_object = "todo_task", parent_id = "{id}") - * - sys_activity / sys_audit_log (auto when enable.feeds/trackHistory = true) + * - sys_audit_log (per-field via Field.trackHistory, plugin-audit / ADR-0052) */ export const Task = ObjectSchema.create({ name: 'todo_task', @@ -93,12 +93,8 @@ export const Task = ObjectSchema.create({ }, enable: { - trackHistory: true, searchable: true, apiEnabled: true, - files: true, - feeds: true, - activities: true, trash: true, mru: true, },