Skip to content

Comments

Enable project/task creation during org deployment#77

Open
hudsonhrh wants to merge 2 commits intomainfrom
hudsonhrh/org-deploy-project-task
Open

Enable project/task creation during org deployment#77
hudsonhrh wants to merge 2 commits intomainfrom
hudsonhrh/org-deploy-project-task

Conversation

@hudsonhrh
Copy link
Member

Summary

Enable organizations to define and create initial projects and tasks in the same transaction as organization deployment. This provides new orgs with an "intro" project and starter tasks for members to engage with immediately.

Changes

  • Add bootstrapProjectsAndTasks() function to TaskManager for batch project/task creation
  • Extend DeploymentParams with bootstrap configuration
  • Add JSON schema parsing for bootstrap config in deployment scripts
  • Support role index resolution to hat IDs during deployment
  • Include example bootstrap config in org-config-example.json

Key Features

  • Atomic deployment: Projects and tasks created in same transaction as org
  • Configuration-driven: Define bootstrap setup in JSON config
  • Role-aware: Automatically resolves role indices to hat IDs using org role structure

Test Plan

  • Verify org deploys with bootstrap config containing 1 project and 2 tasks
  • Confirm projects and tasks are created before bootstrap phase ends
  • Test with empty bootstrap config (backward compatible)
  • Verify role permissions are correctly assigned to projects

🤖 Generated with Claude Code

hudsonhrh and others added 2 commits December 9, 2025 16:38
Allow organizations to define initial projects and tasks in deployment config, created atomically in the same transaction as org deployment. Includes JSON parsing, role index resolution, and bootstrap infrastructure in TaskManager.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add 10 bootstrap tests to TaskManager.t.sol covering:
  - Single/multiple projects, managers, role permissions
  - Bounty tasks, application-required tasks
  - Invalid inputs, empty arrays, full task lifecycle
- Add bootstrap integration support to DeployerTest.t.sol
  - Add _emptyBootstrap() helper function
  - Update all 18 DeploymentParams to include bootstrap field
- Fix deploy script type references:
  - Import ITaskManagerBootstrap from OrgDeployer.sol
  - Change OrgDeployer.ITaskManagerBootstrap -> ITaskManagerBootstrap
- Add bootstrap parsing/building to RunOrgActions.s.sol and
  RunOrgActionsAdvanced.s.sol for full deploy script support
- Pin OpenZeppelin submodule to v5.0.2 (correct version for codebase)

All 557 tests pass.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant