Skip to content
Closed
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
15 changes: 6 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
# aFIPC

Automated Fixed Item Parameter Calibration (FIPC) for IRT test linking.
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/ContextualWisdomLab/aFIPC)

This package contains the original graduate-school implementation used to
produce accurate fixed-item linking results. The current maintenance goal is to
preserve numerical behavior while modernizing repository operations
(documentation, CI, and dependency hygiene).
Automated Fixed Item Parameter Calibration (FIPC) for IRT test linking and equating. aFIPC helps psychometric teams preserve score-scale continuity across test forms by fixing anchor-item parameters while estimating parameters for newly administered items.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Markdown lint blocks the pull request

The new prose exceeds the configured line limit, so markdownlint-cli2 reports 11 violations. The required Code Quality check fails.

Prompt for agents
Wrap the new prose in README.md and docs/index.md to the configured 80-character Markdown line limit. Run the repository's exact markdownlint-cli2 0.18.1 command from .github/workflows/code-quality.yml and ensure all 11 introduced MD013 violations are cleared.
Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Addressed on current branch after the public-surface and licensing expansion: README.md and docs/index.md prose are wrapped to the repository's 80-character Markdown line-length contract. The only intentionally long lines are URL/code forms that markdownlint treats under its configured exceptions. Exact-head checks must regenerate on the new head; predecessor review/check evidence is not reused.


## What this repository contains

- `R/aFIPC.R`: core `autoFIPC()` implementation
- `DESCRIPTION`, `NAMESPACE`, `man/`: package metadata and generated docs
- `packrat/`: historical dependency lock/vendor directory
- `.github/workflows/`: CI/security automation
- `docs/index.md`: product, architecture, onboarding, and release-facing documentation

## Development status

- Algorithmic core is legacy but trusted for historical outputs.
- Operational guardrails are now maintained via GitHub Actions and Dependabot.
- Algorithmic behavior is preserved for compatibility with established linking outputs.
- Operational guardrails are maintained via GitHub Actions and Dependabot.
- Legacy `packrat` bootstrap is opt-in via `AFIPC_ENABLE_PACKRAT=true`.
- Broken host-specific `packrat/lib-R` symlinks were removed for portable builds.
- Architectural and agent operation docs are available in:
Expand Down Expand Up @@ -50,6 +48,5 @@ R_PROFILE_USER=/dev/null Rscript -e \
## Maintenance policy

- Prefer preserving equation/calibration behavior over refactoring.
- Avoid silent behavioral changes in `autoFIPC()` without explicit regression
evidence.
- Avoid silent behavioral changes in `autoFIPC()` without explicit regression evidence.
- Keep CI green on supported runners and keep Actions pinned/updated.
50 changes: 50 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# aFIPC

Automated Fixed Item Parameter Calibration for item-response-theory linking and equating.

## Product responsibility

aFIPC preserves a common measurement scale across test forms by combining anchor-item parameters from a reference form with calibration of newly administered items. It is intended for psychometric workflows where score comparability across administrations matters and fixed-item linking is the chosen design.

## Core workflow

1. Prepare reference-form and new-form response data with a stable set of common items.
2. Fit or supply the reference-form item parameters used as linking anchors.
3. Run `autoFIPC()` to construct the fixed-item calibration workflow for the new form.
4. Review model diagnostics and linking outputs before downstream score reporting or operational use.

## Architecture

The repository is an R package with a focused calibration core:

- `R/aFIPC.R` contains the main fixed-item linking workflow.
- `R/surveyFA.R` contains supporting analytical routines used by the package.
- `DESCRIPTION`, `NAMESPACE`, and `man/` define package metadata and generated reference documentation.
- `ARCHITECTURE.md` documents structural boundaries and maintenance constraints.
- `.github/workflows/` provides continuous-integration and security checks.

The package keeps established numerical behavior as a compatibility constraint; behavioral changes should be supported by regression evidence rather than incidental refactoring.

## Onboarding

Clone the repository, use a current R toolchain, and run the package checks before changing calibration behavior:

```bash
R_PROFILE_USER=/dev/null Rscript -e \
'install.packages(c("rcmdcheck"), repos="https://cloud.r-project.org")'
R_PROFILE_USER=/dev/null Rscript -e \
'rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning")'
```

For contributor expectations and architectural context, read `CONTRIBUTING.md` and `ARCHITECTURE.md` before modifying estimation or linking logic.

## Releases and change control

The repository currently does not publish GitHub Releases. Until a tagged release is available, consumers should pin an explicitly tested commit or package build and review the repository history for behavioral changes. Calibration changes should preserve reproducibility and be accompanied by test evidence.

## Documentation and support

- Repository README: concise product and contributor entry point.
- `ARCHITECTURE.md`: package boundaries and design context.
- `man/`: generated R reference documentation.
- [Ask DeepWiki](https://deepwiki.com/ContextualWisdomLab/aFIPC): repository-aware documentation and code navigation.
Loading