Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions docs/onboarding-new-project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Onboarding a New Project

## 1. Add to Allow List

Update `cmd/lfx-v1-sync-helper/config.go`:

- **Single project only:** Add the project slug to `projectAllowlist`.
- **Project + all children:** Add the project slug to `projectFamilyAllowlist`.

## 2. Replay the Project Entry

The project entry has likely already been processed and skipped. To replay it, update the `v1-objects` NATS KV bucket with the same value it currently has:

```sh
# Get the current value
nats kv get v1-objects "salesforce-project__c.<sfid>" > <sfid>

# Put it back (triggers reprocessing)
nats kv put v1-objects "salesforce-project__c.<sfid>" < <sfid>
# Remove temporary file
rm <sfid>
```

> **Note:** Deleting the WAL listener consumer also works but is not recommended.

## 3. Verify Mappings

Confirm both forward and reverse mappings exist in the `v1-mappings` bucket:

```sh
nats kv get v1-mappings "project.uid.<uid>"
nats kv get v1-mappings "project.sfid.<sfid>"
```

- `project.sfid.<sfid>` should contain the project UID.
- `project.uid.<uid>` should contain the SFID.

If either mapping is missing, create it:

```sh
nats kv create v1-mappings "project.sfid.<sfid>" "<uid>"
nats kv create v1-mappings "project.uid.<uid>" "<sfid>"
```

## 4. Reindex Committees

Committees must be indexed **before** other resources (meetings, mailing lists, etc.) since those depend on them.

- **Order matters:** parent committees must exist before subcommittees.
- Run the reindex multiple times if needed until all committees (and their members) are added.

## 5. Reindex Remaining Resources

Once committees and committee members are indexed, proceed with:

- Meetings
- Votes
- Surveys
- Mailing lists
- Any other resources

See [`scripts/reindexing/`](../scripts/reindexing/) for reindexing scripts.
25 changes: 25 additions & 0 deletions scripts/reindexing/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Reindexing Scripts

Scripts for reindexing v1 project resources into the v2 sync pipeline via DynamoDB and NATS KV.

## Prerequisites

- Python 3.12+
- AWS credentials with DynamoDB read access
- NATS server with JetStream enabled and access to the `v1-objects` KV bucket

## Setup

```sh
uv sync
```

Or with pip:

```sh
pip install -r requirements.txt
```
Comment on lines +11 to +21
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The setup instructions recommend uv sync, but this directory’s pyproject.toml currently has an empty dependencies list, so uv sync won’t install the packages these scripts need. Either list the dependencies in pyproject.toml (preferred) or change this section to use uv pip install -r requirements.txt / pip install -r requirements.txt only.

Copilot uses AI. Check for mistakes.

## Scripts

Detailed documentation for each script is forthcoming. See the individual script files for usage and `--help` flags.
Loading
Loading