feat: upstream generic workspace tooling (board-sync, crm audit, catalog names) #76

Merged
eSlider merged 1 commits from feat/upstream-oow-workspace into main 2026-09-22 23:13:49 +01:00
Owner

Promote the generic, reusable parts of the private oo-workspace into the public library/CLI; business-only commands stay private.

  • board.go: Board types + SyncBoard — upsert project milestones/tasks by exact title from a YAML board. CLI: oo projects board-sync.
  • crm_audit.go: OpportunityAudit + AuditOpportunities — file/task/member counts with generic class (ok|dup|empty|junk-title). CLI: oo crm audit [--out].
  • catalog/names.go: CleanPersonNames / GuessNameFromEmail / FormatProjectTitle.
  • catalog: adopt newer apply/match logic (name repair, company grouping key, contact-info type normalization, preserve applied oo_id); keeps Address/OOProjects + config classifier.

Not upstreamed (business): oo-workspace crm clean/migrate, folders, search.
Verification: go build/vet/test green; gitleaks clear.

Promote the generic, reusable parts of the private oo-workspace into the public library/CLI; business-only commands stay private. - board.go: Board types + SyncBoard — upsert project milestones/tasks by exact title from a YAML board. CLI: oo projects board-sync. - crm_audit.go: OpportunityAudit + AuditOpportunities — file/task/member counts with generic class (ok|dup|empty|junk-title). CLI: oo crm audit [--out]. - catalog/names.go: CleanPersonNames / GuessNameFromEmail / FormatProjectTitle. - catalog: adopt newer apply/match logic (name repair, company grouping key, contact-info type normalization, preserve applied oo_id); keeps Address/OOProjects + config classifier. Not upstreamed (business): oo-workspace crm clean/migrate, folders, search. Verification: go build/vet/test green; gitleaks clear.
eSlider added 1 commit 2026-09-22 23:13:46 +01:00
feat: upstream generic workspace tooling (board-sync, crm audit, catalog names)
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 5s
Tests / Test (Go 1.25) (pull_request) Successful in 1m16s
Tests / Test (Go stable) (pull_request) Successful in 1m36s
82da45dc4d
Promote the generic, reusable parts of the private oo-workspace into the
public library/CLI, so oo-workspace can shrink to business glue.

- board.go: Board types + (c *Client) SyncBoard — upsert project
  milestones/tasks by exact title from a YAML board (dry-run when
  apply=false). CLI: oo projects board-sync.
- crm_audit.go: OpportunityAudit + (c *Client) AuditOpportunities —
  file/task/member counts with a generic class (ok|dup|empty|junk-title).
  CLI: oo crm audit [--out].
- catalog/names.go: CleanPersonNames / GuessNameFromEmail /
  FormatProjectTitle (ported from oo-workspace).
- catalog: adopt the newer apply/match logic — name repair (never encode
  company in lastName), company grouping key, contact-info type
  normalization, preserve an already-applied oo_id. Keeps the local
  Address/OOProjects fields and the config-driven classifier.

Business-only oo-workspace commands (crm clean/migrate, folders, search)
deliberately stay private.
eSlider merged commit a9a77e110d into main 2026-09-22 23:13:49 +01:00
eSlider deleted branch feat/upstream-oow-workspace 2026-09-22 23:13:50 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eSlider/go-onlyoffice#76