feat: complete GitHub community infrastructure

- Update issue templates (bug report, feature request, documentation, research question)
- Add PR template with values alignment checklist
- Add CI workflow with tests and CSP compliance checks
- Configure issue template defaults

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
TheFlow 2025-10-15 23:11:45 +13:00
parent ddc78329f0
commit 25b9c6c85b
7 changed files with 385 additions and 142 deletions

View file

@ -1,22 +1,22 @@
name: 🐛 Bug Report name: Bug Report
description: Report a bug or unexpected behavior in the Tractatus Framework description: Report a technical issue or bug in the Tractatus framework
title: "[Bug]: " title: "[Bug]: "
labels: ["bug", "needs-triage"] labels: ["bug", "needs-triage"]
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Thanks for taking the time to report a bug! Please fill out the form below to help us investigate. Thanks for taking the time to report this bug! Please fill out the information below to help us diagnose and fix the issue.
- type: textarea - type: textarea
id: description id: description
attributes: attributes:
label: Bug Description label: Bug Description
description: A clear and concise description of what the bug is. description: A clear and concise description of what the bug is
placeholder: Tell us what you see... placeholder: Describe the bug...
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: reproduction id: reproduction
attributes: attributes:
@ -24,65 +24,75 @@ body:
description: Steps to reproduce the behavior description: Steps to reproduce the behavior
placeholder: | placeholder: |
1. Go to '...' 1. Go to '...'
2. Click on '....' 2. Click on '...'
3. Scroll down to '....' 3. Scroll down to '...'
4. See error 4. See error
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: expected id: expected
attributes: attributes:
label: Expected Behavior label: Expected Behavior
description: A clear and concise description of what you expected to happen. description: What you expected to happen
placeholder: Describe the expected behavior...
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: actual id: actual
attributes: attributes:
label: Actual Behavior label: Actual Behavior
description: What actually happened instead? description: What actually happened
placeholder: Describe what actually happened...
validations: validations:
required: true required: true
- type: dropdown - type: dropdown
id: component id: component
attributes: attributes:
label: Component label: Framework Component
description: Which component is affected? description: Which component is affected?
options: options:
- BoundaryEnforcer
- CrossReferenceValidator
- ContextPressureMonitor - ContextPressureMonitor
- InstructionPersistenceClassifier - InstructionPersistenceClassifier
- CrossReferenceValidator
- BoundaryEnforcer
- MetacognitiveVerifier - MetacognitiveVerifier
- PluralisticDeliberationOrchestrator - PluralisticDeliberationOrchestrator
- Website/Documentation - Web UI
- API
- Documentation
- Other - Other
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: environment id: environment
attributes: attributes:
label: Environment label: Environment
description: Please provide your environment details description: Environment details
value: | placeholder: |
- OS: - Browser: [e.g. Chrome 120]
- Browser (if applicable): - Node version: [e.g. 20.x]
- Node.js version (if applicable): - OS: [e.g. Ubuntu 22.04]
- Framework version: validations:
required: false
- type: textarea - type: textarea
id: logs id: logs
attributes: attributes:
label: Relevant Log Output label: Relevant Logs
description: Please copy and paste any relevant log output. This will be automatically formatted. description: Paste any relevant logs or error messages
render: shell render: shell
validations:
required: false
- type: textarea - type: textarea
id: additional id: additional
attributes: attributes:
label: Additional Context label: Additional Context
description: Add any other context about the problem here (screenshots, related issues, etc.) description: Any other context about the problem
placeholder: Add any other context about the problem here...
validations:
required: false

View file

@ -1,11 +1,11 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: 💬 Ask a Question - name: Community Discussions
url: https://github.com/AgenticGovernance/tractatus-framework/discussions/new?category=q-a url: https://github.com/AgenticGovernance/tractatus/discussions
about: Ask questions and discuss with the community about: Ask questions and discuss ideas with the community
- name: 📖 Documentation - name: Tractatus Website
url: https://agenticgovernance.digital/docs.html url: https://agenticgovernance.digital
about: Read our comprehensive documentation about: Visit the main Tractatus website for documentation and resources
- name: 📧 Media Inquiries - name: Email Support
url: https://agenticgovernance.digital/media-inquiry.html url: mailto:support@agenticgovernance.digital
about: For press, media, and partnership inquiries about: Contact us directly for sensitive issues or private inquiries

View file

@ -1,72 +1,81 @@
name: 📖 Documentation Issue name: Documentation Improvement
description: Report missing, unclear, or incorrect documentation description: Suggest improvements or report issues with documentation
title: "[Docs]: " title: "[Docs]: "
labels: ["documentation", "needs-triage"] labels: ["documentation", "needs-triage"]
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Help us improve our documentation! Please describe what's missing, unclear, or incorrect. Thanks for helping improve Tractatus documentation! Clear, accurate docs are essential for the community.
- type: dropdown - type: dropdown
id: doc-type id: type
attributes:
label: Documentation Type
description: What type of documentation needs improvement?
options:
- Technical Documentation
- API Reference
- Implementation Guide
- Conceptual/Theoretical
- Tutorial/Getting Started
- Case Study
- Other
validations:
required: true
- type: input
id: page
attributes:
label: Page/Section
description: Which page or section needs improvement?
placeholder: "e.g., docs.html#boundary-enforcer or /implementer.html"
validations:
required: true
- type: dropdown
id: issue-type
attributes: attributes:
label: Issue Type label: Issue Type
description: What kind of documentation issue is this? description: What kind of documentation issue is this?
options: options:
- Missing information - Error/Inaccuracy - Something is wrong
- Unclear explanation - Clarity - Something is confusing
- Incorrect information - Missing - Documentation doesn't exist
- Outdated content - Outdated - Documentation needs updating
- Typo or grammar - Example Needed - Code examples would help
- Broken link - Typo/Grammar - Minor fix needed
- Other
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: problem id: location
attributes: attributes:
label: Problem Description label: Documentation Location
description: What's wrong or missing? description: Where is the issue? (URL or file path)
placeholder: The current documentation says..., but it should... placeholder: https://agenticgovernance.digital/docs/...
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: suggestion id: current
attributes:
label: Current Documentation
description: What does the documentation currently say? (copy/paste if possible)
placeholder: The current text says...
validations:
required: true
- type: textarea
id: suggested
attributes: attributes:
label: Suggested Improvement label: Suggested Improvement
description: How should this be improved? description: What should it say instead?
placeholder: I suggest adding/changing... placeholder: It should say...
validations:
required: true
- type: textarea - type: textarea
id: context id: why
attributes:
label: Why This Matters
description: Why is this change important?
placeholder: This is important because...
validations:
required: false
- type: checkboxes
id: audience
attributes:
label: Audience Impact
description: Who would benefit from this improvement?
options:
- label: Researchers
- label: Implementers/Developers
- label: AI Safety Advocates
- label: Business Leaders
- label: General Public
- type: textarea
id: additional
attributes: attributes:
label: Additional Context label: Additional Context
description: Any other context (audience perspective, use case, etc.) description: Any other context or examples
placeholder: Add any other context here...
validations:
required: false

View file

@ -1,13 +1,13 @@
name: Feature Request name: Feature Request
description: Suggest a new feature or enhancement for the Tractatus Framework description: Suggest a new feature or enhancement for Tractatus
title: "[Feature]: " title: "[Feature]: "
labels: ["enhancement", "needs-triage"] labels: ["enhancement", "needs-triage"]
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Thanks for suggesting a feature! Please fill out the form below. Thanks for suggesting a new feature! Please provide as much detail as possible.
- type: textarea - type: textarea
id: problem id: problem
attributes: attributes:
@ -16,60 +16,70 @@ body:
placeholder: I'm frustrated when... placeholder: I'm frustrated when...
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: solution id: solution
attributes: attributes:
label: Proposed Solution label: Proposed Solution
description: Describe the solution you'd like to see description: Describe the solution you'd like
placeholder: I would like... placeholder: I would like to see...
validations: validations:
required: true required: true
- type: textarea - type: textarea
id: alternatives id: alternatives
attributes: attributes:
label: Alternatives Considered label: Alternatives Considered
description: Describe any alternative solutions or features you've considered description: Describe alternatives you've considered
placeholder: I also considered...
validations:
required: false
- type: dropdown - type: dropdown
id: component id: component
attributes: attributes:
label: Component label: Component Area
description: Which component would this feature affect? description: Which area does this feature relate to?
options: options:
- BoundaryEnforcer - Framework Core (governance components)
- CrossReferenceValidator - Web UI/UX
- ContextPressureMonitor - API
- InstructionPersistenceClassifier - Documentation
- MetacognitiveVerifier - Research/Theory
- PluralisticDeliberationOrchestrator - Community/Outreach
- Website/Documentation
- New Component
- Other - Other
validations: validations:
required: true required: true
- type: dropdown - type: dropdown
id: values-impact id: priority
attributes: attributes:
label: Values Impact label: Priority Level
description: Does this feature involve values decisions or governance boundaries? description: How important is this feature to you?
options: options:
- "No - Technical/operational only" - Critical - Blocking my use of Tractatus
- "Yes - May involve values decisions" - High - Would significantly improve my workflow
- "Unsure" - Medium - Nice to have
- Low - Enhancement for future consideration
validations: validations:
required: true required: true
- type: textarea - type: checkboxes
id: use-case id: values_alignment
attributes: attributes:
label: Use Case label: Values Alignment
description: Describe a specific use case or scenario where this feature would be helpful description: Does this feature align with Tractatus values?
options:
- label: This feature respects human agency and autonomy
- label: This feature promotes transparency
- label: This feature considers diverse perspectives
- label: This feature enhances safety
- type: textarea - type: textarea
id: additional id: additional
attributes: attributes:
label: Additional Context label: Additional Context
description: Add any other context, mockups, or examples description: Any other context, mockups, or examples
placeholder: Add any other context here...
validations:
required: false

View file

@ -0,0 +1,72 @@
name: Research Question
description: Ask about theoretical foundations or research aspects of the Tractatus framework
title: "[Research]: "
labels: ["research", "question"]
body:
- type: markdown
attributes:
value: |
Thanks for your interest in the research foundations of Tractatus! We welcome questions about organizational theory, governance, AI safety, and the theoretical basis of the framework.
- type: textarea
id: question
attributes:
label: Research Question
description: What would you like to know?
placeholder: I'm curious about...
validations:
required: true
- type: dropdown
id: topic
attributes:
label: Topic Area
description: Which research area does your question relate to?
options:
- Organizational Theory Foundations
- Values Pluralism & Moral Philosophy
- AI Safety & Alignment
- Governance Mechanisms
- Empirical Validation
- Implementation Patterns
- Comparative Analysis (vs other approaches)
- Other
validations:
required: true
- type: textarea
id: context
attributes:
label: Context
description: What have you already read or tried?
placeholder: |
I've read the following documents:
- Introduction to Tractatus
- Core Concepts
I'm still unclear about...
validations:
required: false
- type: textarea
id: motivation
attributes:
label: Motivation
description: Why is this question important to you?
placeholder: I'm asking because...
validations:
required: false
- type: checkboxes
id: related_docs
attributes:
label: Related Documentation
description: Which documents have you reviewed? (Check all that apply)
options:
- label: Introduction to Tractatus Framework
- label: Core Concepts
- label: Organizational Theory Foundations
- label: Implementation Guide
- label: Case Studies
- label: Academic Research Foundations
- label: None - I'm just starting

90
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,90 @@
## Description
<!-- Provide a clear and concise description of your changes -->
## Type of Change
<!-- Check all that apply -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Research contribution
- [ ] Refactoring (no functional changes)
## Related Issues
<!-- Link to related issues using #issue_number -->
Fixes #
Relates to #
## Framework Component Impact
<!-- Check all components affected by this change -->
- [ ] ContextPressureMonitor
- [ ] InstructionPersistenceClassifier
- [ ] CrossReferenceValidator
- [ ] BoundaryEnforcer
- [ ] MetacognitiveVerifier
- [ ] PluralisticDeliberationOrchestrator
- [ ] Web UI
- [ ] API
- [ ] Documentation
- [ ] Infrastructure
- [ ] None
## Testing
<!-- Describe the testing you've done -->
### Test Coverage
- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] Manual testing performed
- [ ] No tests needed (explain why)
### Testing Details
<!-- Describe how you tested your changes -->
```
Describe testing steps here
```
## Values Alignment
<!-- Confirm this PR aligns with Tractatus values -->
- [ ] Respects human agency and autonomy
- [ ] Promotes transparency
- [ ] Considers diverse perspectives
- [ ] Enhances safety
- [ ] Maintains architectural integrity
## Documentation
<!-- Check all that apply -->
- [ ] Documentation updated (docs/, README, etc.)
- [ ] Inline code comments added/updated
- [ ] No documentation needed
## Checklist
<!-- Ensure all requirements are met before submitting -->
- [ ] My code follows the project's style guidelines
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published
## Additional Context
<!-- Add any other context, screenshots, or information about the PR here -->

View file

@ -7,29 +7,81 @@ on:
branches: [ main, develop ] branches: [ main, develop ]
jobs: jobs:
lint:
name: Lint Code
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
cache: npm
- run: npm ci
- run: npx eslint . --ext .js --max-warnings 0
test: test:
name: Test name: Run Tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [18.x, 20.x] node-version: [18.x, 20.x]
steps: steps:
- uses: actions/checkout@v4 - name: Checkout code
- uses: actions/setup-node@v4 uses: actions/checkout@v4
with:
node-version: ${{ matrix.node-version }} - name: Setup Node.js ${{ matrix.node-version }}
cache: npm uses: actions/setup-node@v4
- run: npm ci with:
- run: npm test node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm run test:unit
env:
NODE_ENV: test
- name: Run integration tests
run: npm run test:integration
env:
NODE_ENV: test
lint:
name: Lint Code
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run linter
run: npm run lint
continue-on-error: true
csp-check:
name: CSP Compliance Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Check HTML files for CSP violations
run: |
echo "Checking for inline event handlers..."
! grep -r "onclick=" public/*.html
! grep -r "onchange=" public/*.html
! grep -r "onload=" public/*.html
echo "Checking for inline scripts..."
! grep -r "<script>" public/*.html | grep -v "src="
echo "✅ All HTML files are CSP compliant"