Skip to content

Commit f2db5cc

Browse files
committed
feat: complete ISO 42001 compliance requirements
- Add manifest schema validation - Integrate Codecov coverage tracking - Add CODEOWNERS and issue templates - Update documentation structure - Improve governance pipeline - Add security documentation - Remove package publishing workflow Closes #ISO-42001-compliance
1 parent 60646dc commit f2db5cc

18 files changed

+619
-45
lines changed

.github/CODEOWNERS

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Global code owners
2+
* @australmetrics/pascal-maintainers
3+
4+
# Documentation owners
5+
/docs/ @australmetrics/pascal-docs
6+
/docs-private/ @australmetrics/pascal-docs
7+
8+
# Core functionality
9+
/src/ @australmetrics/pascal-core
10+
/tests/ @australmetrics/pascal-core
11+
12+
# Configuration and metadata
13+
*.toml @australmetrics/pascal-maintainers
14+
*.json @australmetrics/pascal-maintainers
15+
*.yml @australmetrics/pascal-maintainers
16+
17+
# Compliance and security
18+
/docs/compliance/ @australmetrics/pascal-compliance
19+
/SECURITY.md @australmetrics/pascal-compliance
20+
/CODE_OF_CONDUCT.md @australmetrics/pascal-compliance
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG] "
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Description**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Input data used '...'
16+
2. Command executed '....'
17+
3. Parameters set '....'
18+
4. Error message or unexpected behavior
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Log Files**
24+
If applicable, add log files to help explain your problem.
25+
26+
**Environment:**
27+
- OS: [e.g. Windows 10]
28+
- Python Version: [e.g. 3.9]
29+
- Package Version: [e.g. 1.0.1]
30+
31+
**ISO 42001 Impact Assessment**
32+
- [ ] Data integrity affected
33+
- [ ] Processing traceability compromised
34+
- [ ] Output validation issues
35+
- [ ] Log consistency problems
36+
37+
**Additional context**
38+
Add any other context about the problem here.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: "[FEATURE] "
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Problem Description**
11+
A clear and concise description of what the problem is.
12+
13+
**Proposed Solution**
14+
A clear and concise description of what you want to happen.
15+
16+
**ISO 42001 Compliance**
17+
- [ ] Maintains data traceability
18+
- [ ] Includes logging requirements
19+
- [ ] Preserves validation mechanisms
20+
- [ ] Documentation updates needed
21+
22+
**Technical Requirements**
23+
- Input/Output specifications
24+
- Performance considerations
25+
- Dependencies affected
26+
27+
**Alternative Solutions**
28+
A clear and concise description of any alternative solutions or features you've considered.
29+
30+
**Additional context**
31+
Add any other context or screenshots about the feature request here.

.github/pull_request_template.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Pull Request
3+
about: Create a pull request to contribute to the project
4+
5+
---
6+
7+
**Related Issue**
8+
Fixes #(issue)
9+
10+
**Changes Made**
11+
Description of the changes in this pull request.
12+
13+
**ISO 42001 Compliance Checklist**
14+
- [ ] Traceability maintained in logs
15+
- [ ] Input validation preserved/enhanced
16+
- [ ] Output validation preserved/enhanced
17+
- [ ] Documentation updated
18+
- [ ] Tests cover new/modified functionality
19+
- [ ] Test coverage > 80%
20+
21+
**Testing**
22+
- [ ] Unit tests added/updated
23+
- [ ] Integration tests added/updated
24+
- [ ] All tests passing
25+
- [ ] Coverage maintained/improved
26+
27+
**Documentation**
28+
- [ ] Code comments updated
29+
- [ ] API documentation updated
30+
- [ ] User guide updated if needed
31+
- [ ] Changelog updated
32+
33+
**Additional Notes**
34+
Any additional information that would be helpful for review.

.github/workflows/publish.yml

Lines changed: 0 additions & 41 deletions
This file was deleted.

.github/workflows/test.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,18 @@ jobs:
3939
4040
- name: Verificar tipos
4141
run: |
42-
mypy src/ tests/
43-
44-
- name: Ejecutar tests con cobertura
42+
mypy src/ tests/ - name: Ejecutar tests con cobertura
4543
run: |
4644
pytest tests/ --cov=src/ --cov-report=xml --cov-report=term-missing:skip-covered
4745
46+
- name: Upload coverage to Codecov
47+
uses: codecov/codecov-action@v4
48+
with:
49+
token: ${{ secrets.CODECOV_TOKEN }}
50+
file: ./coverage.xml
51+
fail_ci_if_error: true
52+
verbose: true
53+
4854
- name: Verificar documentación
4955
run: |
5056
pydocstyle src/
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Validate Manifest
2+
3+
on:
4+
push:
5+
paths:
6+
- 'manifest.json'
7+
- 'schemas/**'
8+
pull_request:
9+
paths:
10+
- 'manifest.json'
11+
- 'schemas/**'
12+
13+
jobs:
14+
validate:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Install check-jsonschema
20+
run: pip install check-jsonschema
21+
22+
- name: Validate manifest.json
23+
run: check-jsonschema --schemafile schemas/manifest.schema.json manifest.json

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Changelog
22

3+
## [1.0.3] - 2025-05-28
4+
### Added
5+
- JSON Schema validation for `manifest.json`.
6+
- Codecov integration and coverage badge.
7+
- `CODEOWNERS` file for clear ownership assignment.
8+
- SHA-256 hash for private documentation.
9+
10+
### Changed
11+
- Updated documentation structure.
12+
- Improved ISO 42001 compliance documentation.
13+
- Enhanced governance pipeline with coverage tracking.
14+
15+
### Security
16+
- Added documentation integrity verification.
17+
- Updated private documentation handling.
18+
319
## [1.0.1] – 2025-05-25
420
### Changed
521
- Restructured `docs/` to separate public and private content.

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ A high-performance module for calculating NDVI, NDRE, and SAVI indices from Sent
66

77
## Project Status
88
![Tests & Lint](https://github.com/australmetrics/pascal-ndvi-block/actions/workflows/test.yml/badge.svg)
9+
[![codecov](https://codecov.io/gh/australmetrics/pascal-ndvi-block/branch/main/graph/badge.svg)](https://codecov.io/gh/australmetrics/pascal-ndvi-block)
910
[![ISO 42001](https://img.shields.io/badge/ISO-42001-blue.svg)](docs/compliance/iso42001_compliance.md)
1011

1112
- **Version**: 1.0.0
@@ -20,6 +21,14 @@ A high-performance module for calculating NDVI, NDRE, and SAVI indices from Sent
2021
- **Intuitive CLI**: Simple commands for all operations
2122
- **Automated Pipeline**: Complete processing with a single command
2223

24+
## Normative Dependencies
25+
26+
This project follows ISO 42001 compliance requirements and integrates with other PASCAL ecosystem blocks. For detailed information about normative dependencies and compliance:
27+
28+
- [Normative Dependencies Documentation](docs/compliance/normative_dependencies.md)
29+
- [ISO 42001 Compliance](docs/compliance/iso42001_compliance.md)
30+
- [Security Policy](SECURITY.md)
31+
2332
## Quality Control & CI/CD
2433

2534
This project implements robust Continuous Integration (CI) and Continuous Delivery (CD) practices:

SECURITY.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
| Version | Supported |
6+
| ------- | ------------------ |
7+
| 1.0.1 | :white_check_mark: |
8+
| 1.0.0 | :white_check_mark: |
9+
| < 1.0 | :x: |
10+
11+
## Security and Privacy Considerations
12+
13+
### Data Protection
14+
- Input raster data is processed locally
15+
- No data is transmitted externally
16+
- Results and logs are stored in user-specified locations
17+
- Backup logs are encrypted with SHA-256
18+
19+
### ISO 42001 Compliance
20+
This project adheres to ISO 42001 standards for AI systems:
21+
- Traceability of operations through detailed logging
22+
- Validation of input/output data formats
23+
- Clear documentation of parameters and their impacts
24+
- System behavior predictability and reproducibility
25+
26+
## Reporting a Vulnerability
27+
28+
1. **DO NOT** open public issues for security vulnerabilities
29+
2. Email security@australmetrics.com with:
30+
- Description of the vulnerability
31+
- Steps to reproduce
32+
- Potential impact
33+
3. You will receive a response within 48 hours
34+
4. A fix will be developed and deployed as per severity:
35+
- Critical: Within 24 hours
36+
- High: Within 72 hours
37+
- Medium: Next release
38+
- Low: Scheduled as needed
39+
40+
## Privacy Policy
41+
See our full privacy policy in [docs/compliance/privacy_policy.md](docs/compliance/privacy_policy.md)

0 commit comments

Comments
 (0)